:root{
  --ink-900:#2b2723; --ink-800:#3a342f; --ink-700:#4a423c; --ink-500:#807268;
  --terra-300:#e6bb9c; --terra-400:#d39977; --terra-500:#ce9c86; --terra-600:#c08260; --terra-700:#a86a4a;
  --cream:#fdf8f1; --cream-2:#fbf0e6; --cream-3:#f6e4d3; --paper:#fbf6f0;
  --action-bg:#f3efee;
  --blue-500:#7fb6c4; --blue-600:#5a96a8;
  --green-500:#7a8b6f; --green-600:#5d6e54;
  --yellow:#ffd66b;
  --hd-line:rgba(43,39,35,.10);
  --shadow-card:0 18px 50px -20px rgba(43,39,35,.18),0 4px 12px rgba(43,39,35,.06);
  --shadow-pop:0 12px 32px rgba(236,72,153,.45),0 4px 12px rgba(168,85,247,.30);
  --pop-1:#ffd66b; --pop-2:#f97316; --pop-3:#ec4899; --pop-4:#a855f7;
  --pop:linear-gradient(120deg,var(--pop-1) 0%,var(--pop-2) 30%,var(--pop-3) 65%,var(--pop-4) 100%);
  --brown-grad:linear-gradient(140deg,#CE9C86 22%,#000000 50%);
  --hero-bg:radial-gradient(circle at 100% 0,#ce9c868c 0%,#ce9c8600 60%),linear-gradient(135deg,#fcfafa 0%,#fbf4eb 35%,#f8e4db 100%);
  --highlight:linear-gradient(180deg,transparent 62%,var(--yellow) 62%,var(--yellow) 92%,transparent 92%);
}
.ocd *{box-sizing:border-box}
.ocd{font-family:'Poppins',sans-serif;color:var(--ink-700);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%;touch-action:pan-y}
/* Canonical horizontal-scroll containment pattern:
   - overflow-x:hidden on BODY (not html) — body becomes the horizontal clip container
   - vertical scroll continues to happen on the html root element, unaffected
   - this is the standard fix and works on iOS Safari, Android Chrome, all desktop browsers
   - do NOT add overflow-x:hidden to html itself, that's what breaks vertical scroll */
body.home,body.page-id-42047,body.page-id-975{overflow-x:hidden;touch-action:pan-y}
body.home #oc-home-main,body.page-id-42047 #oc-home-main,body.page-id-975 #oc-home-main{overflow-x:hidden;max-width:100%;touch-action:pan-y}
/* Clip individual full-bleed sections — width:100vw includes the scrollbar width,
   which on desktop with a visible scrollbar makes those sections WIDER than the viewport. */
.ocd .hero,
.ocd section,
.ocd .ocd-approval-flow,
.ocd .pa-custom-visual,
.ocd .oc-reviews,
.ocd .oc-rv-wrap,
.ocd .mq-final-wrap,
.ocd .mq-perspective,
.ocd .mq-perspective-final,
.ocd .mq-row,
.ocd .oc-rein,
.ocd .oc-mss,
.ocd .oc-pdf-stage{overflow-x:clip;max-width:100%}
.ocd img{max-width:100%;display:block}
.ocd a{color:inherit;text-decoration:none}
.ocd .wrap{max-width:1220px;margin:0 auto;padding:0 28px}

@keyframes ocd-gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ocd-status-pulse{0%{box-shadow:0 0 0 0 rgba(122,139,111,.55)}70%{box-shadow:0 0 0 12px rgba(122,139,111,0)}100%{box-shadow:0 0 0 0 rgba(122,139,111,0)}}
@keyframes ocd-seal-pulse{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(-6deg) scale(1.04)}}
@keyframes ocd-seal-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ocd-seal-shimmer{0%,100%{transform:translateX(-100%) translateY(-100%)}50%{transform:translateX(100%) translateY(100%)}}
@keyframes ocd-btn-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}

.ocd .eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .eyebrow::before,.ocd .eyebrow::after{content:"";display:inline-block;width:28px;height:1.5px;background:var(--terra-600)}
.ocd .pop-italic{font-style:italic;font-weight:400;background:var(--pop);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;padding-right:.08em}
.ocd .brown-grad{background:var(--brown-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ocd .yellow-hl{background:var(--highlight);font-style:italic;font-weight:700;color:var(--ink-900);padding:0 6px}
.ocd .hero .yellow-hl{color:#fff}

.ocd .btn{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;border:none;cursor:pointer;padding:18px 32px;transition:all .4s ease;position:relative;overflow:hidden;text-decoration:none}
.ocd .btn-primary{color:var(--cream);background:var(--pop);background-size:200% auto;box-shadow:var(--shadow-pop);animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .btn-primary::after{content:"";position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);animation:ocd-btn-shimmer 3.5s ease-in-out infinite;pointer-events:none}
.ocd .btn-primary:hover{background:var(--ink-900);transform:translateY(-2px);color:var(--cream)}
.ocd .btn-ghost{background:transparent;color:var(--ink-900);border:1.5px solid var(--ink-900)}
.ocd .btn-stacked{padding:10px 28px}
.ocd .btn-stack{display:flex;flex-direction:column;line-height:1.1;align-items:center}
.ocd .btn-stack-lbl{font-size:15px;font-weight:700;letter-spacing:.04em}
.ocd .btn-stack-sub{font-size:10px;font-weight:700;color:var(--ink-500);margin-top:3px;letter-spacing:.04em;text-transform:none}
.ocd .btn-ghost.btn-stacked:hover .btn-stack-sub{color:#fbf0e6}
.ocd .btn-ghost:hover{background:var(--ink-900);color:var(--cream);transform:translateY(-2px)}

/* HERO */
.ocd .hero{background:var(--hero-bg);padding:104px 0 112px;position:relative;overflow:hidden;text-align:center}
.ocd .hero .wrap{max-width:1040px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.ocd .hero h2.hero-headline{font-weight:700;font-size:clamp(44px,5.6vw,76px);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;color:var(--cream);margin:22px auto 24px;max-width:18ch}
.ocd .hero h2.hero-headline .brown-grad{background:linear-gradient(140deg,#fff 0%,var(--terra-300) 50%,var(--terra-500) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* h1.eyebrow: reset default h1 browser sizing/margins so it renders identically to the original <span class="eyebrow"> */
.ocd .hero h1.eyebrow{font-size:11px;line-height:1.4;margin:0}
/* Subtitle directly under the H1 — designed to stick out */
.ocd .hero .hero-subtitle{font-size:clamp(22px,2.4vw,30px);font-weight:700;color:var(--cream);max-width:780px;margin:6px auto 22px;line-height:1.3;letter-spacing:-.01em;text-wrap:balance}
.ocd .hero .hero-subtitle em.pop-italic{font-style:italic;font-weight:700;padding-right:.06em}
.ocd .hero .lede{font-size:19px;color:rgba(253,248,241,.85);max-width:720px;margin:0 auto 36px;line-height:1.55}
.ocd .hero .lede strong{color:#fff}
.ocd .hero .eyebrow{color:var(--terra-300)}
.ocd .hero .eyebrow::before,.ocd .hero .eyebrow::after{background:var(--terra-300)}
.ocd .hero .btn-ghost{color:var(--cream);border:2.5px solid rgba(253,248,241,.85);font-weight:700}
.ocd .hero .btn-ghost:hover{background:var(--cream);color:var(--ink-900);border-color:var(--cream)}
.ocd .cta-row{display:inline-flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center}

/* Make .btn match the trust badge height for inline alignment */
.ocd .hero .btn{height:58px;padding-top:0;padding-bottom:0;box-sizing:border-box}

/* TrustIndex inline badge host — vertically centered with buttons (58px row height) */
.ocd .ti-inline{display:inline-flex;align-items:center;justify-content:center;height:58px;line-height:1;vertical-align:middle}
.ocd .ti-inline > *{margin:0 !important;padding-top:0 !important;padding-bottom:0 !important}
.ocd .ti-inline pre.ti-widget,
.ocd .ti-inline .ti-widget,
.ocd .ti-inline .ti-widget-container,
.ocd .ti-inline .ti-reviews-container,
.ocd .ti-inline .ti-reviews-container-wrapper,
.ocd .ti-inline .ti-review-item,
.ocd .ti-inline .ti-inner{margin:0 !important;display:flex !important;align-items:center !important}
.ocd .ti-inline .ti-widget *{vertical-align:middle}
.ocd .cta-row{align-items:center}

/* OPTION C-3 — Center Radial Spotlight (locked) */
.ocd .hero-opt-c3{background:radial-gradient(ellipse 60% 60% at 50% 30%,#4a3024 0%,#1a0f0a 55%,#000000 100%);color:var(--cream)}

/* ============================
   SECTION 2: APPROVAL FLOW (Outlook-style)
============================ */
.ocd .ocd-approval-flow{background:linear-gradient(180deg,#0c0806 0%,#1a0f0a 50%,#0c0806 100%);padding:100px 0 110px;color:var(--cream);position:relative;overflow:hidden}
.ocd .flow-head{max-width:980px;margin:0 auto 56px;padding:0 28px;text-align:center;position:relative;z-index:2}
.ocd .flow-eyebrow{color:var(--terra-300)}
.ocd .flow-eyebrow::before,.ocd .flow-eyebrow::after{background:var(--terra-300)}
.ocd .flow-h2{font-weight:700;font-size:clamp(34px,3.6vw,52px);line-height:1.05;letter-spacing:-.02em;color:var(--cream);margin:18px auto 14px;text-wrap:balance;max-width:22ch}
.ocd .flow-h2 em{font-style:italic;font-weight:400;color:var(--terra-300)}
.ocd .flow-sub{font-size:17px;color:rgba(253,248,241,.78);max-width:640px;margin:0 auto}
.ocd .flow-footnote{margin:0 auto;padding:0 28px;color:var(--cream);max-width:940px;text-align:center;line-height:1.4;letter-spacing:-.01em;text-wrap:balance}
.ocd .flow-foot-1{margin-top:64px;padding-top:32px;font-size:clamp(18px,1.9vw,22px);font-weight:400;border-top:1px solid rgba(253,248,241,.18)}
.ocd .flow-foot-2{margin-top:14px;font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.3;max-width:none;white-space:nowrap}
@media (max-width:760px){.ocd .flow-foot-2{white-space:normal;font-size:18px}}
.ocd .flow-footnote strong{background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding-right:.04em}
.ocd .flow-foot-1 strong{font-weight:400}
.ocd .flow-foot-2 strong{font-weight:700}

/* Full-width stage */
.ocd .flow-stage{width:100%;padding:0 28px;position:relative;z-index:2}
.ocd .outlook-window{width:100%;max-width:none;background:#fff;border-radius:14px;box-shadow:0 50px 120px -30px rgba(0,0,0,.65),0 16px 40px rgba(0,0,0,.40);overflow:hidden;text-align:left;color:var(--ink-900);font-family:'Poppins','Segoe UI','Helvetica Neue',Arial,sans-serif}

/* Outlook blue top bar */
.ocd .ol-topbar{display:flex;align-items:center;gap:18px;background:#2058a8;padding:8px 16px;color:#fff}
.ocd .ol-window-dots{display:inline-flex;gap:6px;margin-right:6px}
.ocd .ol-window-dots span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45)}
.ocd .ol-window-dots span:first-child{background:#ff5f57}
.ocd .ol-window-dots span:nth-child(2){background:#febc2e}
.ocd .ol-window-dots span:nth-child(3){background:#28c840}
.ocd .ol-search{flex:1;max-width:640px;margin:0 auto;background:rgba(255,255,255,.18);padding:7px 14px;border-radius:6px;font-size:13px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:400}
.ocd .ol-topright{display:inline-flex;gap:14px;font-size:14px;color:#fff;opacity:.85}

/* Outlook toolbar (Reply All, Move, Snooze etc.) */
.ocd .ol-toolbar{display:flex;align-items:center;gap:0;background:#f3f2f1;border-bottom:1px solid #e1dfdd;padding:0 14px;flex-wrap:wrap}
.ocd .ol-tb-left{padding:8px 16px 8px 4px;border-right:1px solid #e1dfdd}
.ocd .ol-newmail{background:#0078d4;color:#fff;border:none;padding:9px 18px;border-radius:4px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ocd .ol-tb-actions{display:flex;flex-wrap:wrap;align-items:center;flex:1}
.ocd .ol-action{background:transparent;border:none;padding:9px 12px;font-size:13px;color:#323130;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:400}
.ocd .ol-action span{font-size:14px;opacity:.7}
.ocd .ol-action:hover{background:#edebe9}
.ocd .ol-copilot{margin-left:auto;background:linear-gradient(120deg,#7b1fa2,#0078d4);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px}

/* Body: 3 columns */
.ocd .ol-body{display:grid;grid-template-columns:48px 360px 1fr;min-height:580px}

/* Far-left vertical nav strip */
.ocd .ol-nav{background:#0a4a8e;display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:14px}
.ocd .ol-nav-icon{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.78);font-size:14px;cursor:pointer}
.ocd .ol-nav-icon.active{background:rgba(255,255,255,.18);color:#fff}

/* Middle column: inbox list */
.ocd .ol-list{background:#fafafa;border-right:1px solid #e1dfdd;overflow:hidden}
.ocd .ol-list-head{padding:14px 18px 6px;border-bottom:1px solid #f0f0f0}
.ocd .ol-tabs{display:flex;gap:18px;font-size:13.5px;font-weight:700;color:#605e5c}
.ocd .ol-tabs .active{color:#0078d4;border-bottom:2px solid #0078d4;padding-bottom:6px;font-weight:700}
.ocd .ol-tabs em{font-style:normal;font-weight:700;color:#a19f9d}
.ocd .ol-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;padding:12px 18px;border-bottom:1px solid #f0f0f0;align-items:flex-start;cursor:pointer;border-left:3px solid transparent}
.ocd .ol-row:hover{background:#f3f2f1}
.ocd .ol-row.active{background:#deecf9;border-left-color:#0078d4}
.ocd .ol-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;background:#605e5c;flex-shrink:0}
.ocd .ol-avatar.oc-avatar{background:linear-gradient(135deg,#ec4899,#a855f7);box-shadow:0 4px 10px rgba(236,72,153,.30)}
.ocd .ol-row-meta{min-width:0;overflow:hidden}
.ocd .ol-row-from{font-size:13.5px;font-weight:700;color:#252423;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .ol-row-subject{font-size:13px;color:#0078d4;font-weight:700;margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .ol-row-preview{font-size:12.5px;color:#605e5c;margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .ol-row-time{font-size:11.5px;color:#605e5c;white-space:nowrap;font-weight:700}
.ocd .ol-row-oculus.active{animation:flow-row-pulse 1.4s ease-out infinite alternate}
@keyframes flow-row-pulse{from{box-shadow:inset 0 0 0 0 rgba(236,72,153,0)}to{box-shadow:inset 4px 0 0 0 rgba(236,72,153,.45)}}

/* Scene-conditional subject swaps inside the inbox row */
.ocd .scene-1-only,.ocd .scene-2-only,.ocd .scene-3plus-only{display:none}
.ocd .flow-state-1 .scene-1-only,.ocd .flow-state-1 .scene-2-only{display:block}
.ocd .flow-state-2 .scene-3plus-only{display:block}
/* Default: scene-1 visible */
.ocd .ol-row-oculus .scene-1-only{display:block}
.ocd .ol-row-oculus .scene-2-only,.ocd .ol-row-oculus .scene-3plus-only{display:none}

/* Right column: read pane */
.ocd .ol-read{background:#fff;position:relative;min-height:580px;overflow:hidden}
.ocd .flow-scene{position:absolute;inset:0;padding:24px 32px;opacity:0;transition:opacity .4s ease;overflow:auto}

/* Empty state (Scene 1) */
.ocd .ol-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#605e5c}
.ocd .ol-empty-icon{font-size:54px;color:#0078d4;margin-bottom:14px;opacity:.6}
.ocd .ol-empty-title{font-size:18px;font-weight:700;color:#252423}
.ocd .ol-empty-sub{font-size:14px;margin-top:6px}

/* Open mail layout */
.ocd .ol-mail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid #e1dfdd;padding-bottom:14px;margin-bottom:18px}
.ocd .ol-mail-subject{font-size:21px;font-weight:700;color:#252423;letter-spacing:-.01em;line-height:1.25;flex:1}
.ocd .ol-mail-actions{flex-shrink:0}
.ocd .ol-reply-btn{background:#fff;border:1px solid #c8c6c4;color:#252423;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}
.ocd .ol-mail-from{display:flex;align-items:flex-start;gap:14px;padding:8px 0 18px;border-bottom:1px solid #f3f2f1;margin-bottom:18px}
.ocd .ol-mail-from-meta{flex:1}
.ocd .ol-mail-from-name{font-size:14.5px;font-weight:700;color:#252423}
.ocd .ol-mail-email{color:#605e5c;font-weight:400}
.ocd .ol-mail-to{font-size:13px;color:#605e5c;margin-top:2px}
.ocd .ol-mail-time{font-size:12.5px;color:#605e5c;font-weight:400}
.ocd .ol-mail-body{font-size:14.5px;line-height:1.6;color:#252423}
.ocd .ol-mail-body p{margin:0 0 14px}

/* Syllabus card inside email body */
.ocd .syllabus-card{background:#fbf6f0;border:1px solid rgba(43,39,35,.10);border-radius:10px;padding:18px 22px;box-shadow:0 4px 14px rgba(43,39,35,.04);margin:6px 0 14px}
.ocd .syl-tag{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);margin-bottom:12px}
.ocd .syl-list{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--ink-800);padding:0;margin:0}
.ocd .syl-list li{padding-left:20px;position:relative;line-height:1.45}
.ocd .syl-list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--terra-500)}
.ocd .syl-change{color:var(--terra-700);font-weight:700;font-style:italic}
.ocd .syl-new{color:#5d6e54;font-weight:700}
.ocd .syl-new::before{background:#7a8b6f !important}

/* Compose area — FULL WIDTH inside the read pane */
.ocd .ol-compose{margin-top:24px;border:1.5px solid #0078d4;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(0,120,212,.12);overflow:hidden}
.ocd .ol-compose.ol-compose-full{margin-top:0}
.ocd .ol-compose-head{padding:10px 18px;background:#fafafa;border-bottom:1px solid #f0f0f0}
.ocd .ol-compose-field{display:flex;gap:10px;font-size:13px;padding:4px 0;border-bottom:1px solid #f3f2f1}
.ocd .ol-compose-field:last-child{border-bottom:none}
.ocd .ol-compose-label{font-weight:700;color:#605e5c;width:60px;flex-shrink:0}
.ocd .ol-compose-val{color:#252423}
.ocd .ol-compose-body{padding:18px 22px;min-height:80px;font-size:14.5px;color:#252423;line-height:1.55;font-family:inherit}
.ocd .ol-compose-body.big{min-height:180px;font-size:24px;font-weight:700;letter-spacing:-.01em}
.ocd .ol-compose-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid #f3f2f1;background:#fafafa}
.ocd .ol-send-btn{background:#0078d4;color:#fff;border:none;padding:8px 24px;border-radius:4px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer}
.ocd .ol-compose-tools{font-size:14px;color:#605e5c;letter-spacing:6px}

/* Caret + typed */
.ocd .caret{display:inline-block;color:#252423;animation:flow-caret 1s steps(1) infinite;font-weight:400;margin-left:1px}
@keyframes flow-caret{50%{opacity:0}}
.ocd .typed{overflow:hidden;white-space:pre-wrap;display:inline;vertical-align:baseline}
.ocd .typed-1::before{content:"Hi Kevin, can we add a Spanish localization module for the Sevilla cohort, and update Module 1 with the recent Q3 incident example? Thanks."}
.ocd .typed-2::before{content:"APPROVED. Let's ship it."}

/* Success state */
.ocd .ol-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px}
.ocd .big-check{width:108px;height:108px;border-radius:50%;background:linear-gradient(135deg,#7a8b6f,#5d6e54);color:#fff;font-size:60px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(122,139,111,.45);animation:flow-check-pop .6s cubic-bezier(.34,1.56,.64,1) backwards}
@keyframes flow-check-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.ocd .approved-title{font-size:30px;font-weight:700;color:#252423;margin-top:14px;letter-spacing:-.01em}
.ocd .approved-sub{font-size:15px;color:#605e5c;margin-bottom:14px}
.ocd .approved-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ocd .approved-tag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-700);background:var(--cream-2);padding:7px 14px;border-radius:999px}

/* ============================
   MASTER TIMELINE: 20s loop
   0-3s     Scene 1 (empty / new email indicator pulsing)
   3-8s     Scene 2 (syllabus open + typing feedback)
   8-12s    Scene 3 (updated syllabus from Oculus)
   12-16s   Scene 4 (typing APPROVED)
   16-20s   Scene 5 (success)
============================ */
.ocd .scene-1{animation:flow-s1 30s ease-in-out infinite}
.ocd .scene-2{animation:flow-s2 30s ease-in-out infinite}
.ocd .scene-3{animation:flow-s3 30s ease-in-out infinite}
.ocd .scene-4{animation:flow-s4 30s ease-in-out infinite}
.ocd .scene-5{animation:flow-s5 30s ease-in-out infinite}
@keyframes flow-s1{0%,12%{opacity:1}15%,100%{opacity:0}}
@keyframes flow-s2{0%,13%{opacity:0}16%,38%{opacity:1}40%,100%{opacity:0}}
@keyframes flow-s3{0%,39%{opacity:0}42%,58%{opacity:1}60%,100%{opacity:0}}
@keyframes flow-s4{0%,59%{opacity:0}62%,78%{opacity:1}80%,100%{opacity:0}}
@keyframes flow-s5{0%,79%{opacity:0}82%,100%{opacity:1}}

/* Typed text width animation tied to 20s loop */
.ocd .typed-1{animation:flow-type1 30s linear infinite}
.ocd .typed-2{animation:flow-type2 30s linear infinite}
@keyframes flow-type1{
  0%,17%{max-width:0}
  33%{max-width:100%}
  40%,100%{max-width:100%}
}
@keyframes flow-type2{
  0%,63%{max-width:0}
  75%{max-width:100%}
  80%,100%{max-width:100%}
}

/* Send button pulse near end of each type-out */
.ocd .scene-2 .ol-send-btn{animation:flow-send 30s ease-in-out infinite}
.ocd .scene-4 .ol-send-btn{animation:flow-send-late 30s ease-in-out infinite}
@keyframes flow-send{
  0%,33%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,120,212,0)}
  35%{transform:scale(1.10);box-shadow:0 0 0 6px rgba(0,120,212,.35)}
  38%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,120,212,0)}
}
@keyframes flow-send-late{
  0%,75%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,120,212,0)}
  77%{transform:scale(1.10);box-shadow:0 0 0 6px rgba(0,120,212,.35)}
  80%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,120,212,0)}
}

/* Force typed elements display so width animation actually clamps width */
.ocd .typed{display:inline-block;max-width:0}

@media (max-width:1180px){
  .ocd .ol-body{grid-template-columns:48px 300px 1fr}
}
@media (max-width:880px){
  .ocd .ol-body{grid-template-columns:1fr;min-height:auto}
  .ocd .ol-nav{display:none}
  .ocd .ol-list{max-height:240px;overflow-y:auto}
  .ocd .ol-read{min-height:520px}
  .ocd .ol-toolbar{padding:0 8px}
  .ocd .ol-action{padding:8px 8px;font-size:12px}
  .ocd .ol-action span{display:none}
}

/* ============================
   FLOW V2 — Oculus-flavored inbox (less Outlook detail)
============================ */
.ocd .flow-stage-v2{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.ocd .oc-flow-zoom{transform:none}
.ocd .oc-inbox-window{background:var(--paper);border-radius:18px;overflow:hidden;box-shadow:0 50px 120px -30px rgba(0,0,0,.55),0 18px 44px rgba(0,0,0,.30);color:var(--ink-900);position:relative;text-align:left}
.ocd .oc-inbox-window *{text-align:inherit}
.ocd .oc-success,.ocd .oc-empty{text-align:center}

.ocd .oc-window-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--cream-2);border-bottom:1px solid rgba(43,39,35,.08)}
.ocd .oc-head-left{display:inline-flex;align-items:center;gap:14px}
.ocd .oc-head-dots{display:inline-flex;gap:6px}
.ocd .oc-head-dots i{width:10px;height:10px;border-radius:50%;background:rgba(43,39,35,.18);display:inline-block}
.ocd .oc-head-dots i:first-child{background:#ce9c86}
.ocd .oc-head-dots i:nth-child(2){background:#e6bb9c}
.ocd .oc-head-dots i:nth-child(3){background:#f6e4d3}
.ocd .oc-head-title{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink-900)}
.ocd .oc-head-right{display:inline-flex;align-items:center;gap:14px}
.ocd .oc-head-meta{font-size:12px;color:var(--ink-500);font-weight:700;letter-spacing:.02em}
.ocd .oc-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-700);cursor:pointer}
.ocd .oc-bell svg{display:block}
.ocd .oc-bell-dot{position:absolute;top:-2px;right:-3px;width:10px;height:10px;border-radius:50%;background:#ec4899;border:2px solid var(--cream-2);box-shadow:0 0 0 0 rgba(236,72,153,.55);animation:oc-bell-ping 2s infinite}
@keyframes oc-bell-ping{0%{box-shadow:0 0 0 0 rgba(236,72,153,.5)}70%{box-shadow:0 0 0 8px rgba(236,72,153,0)}100%{box-shadow:0 0 0 0 rgba(236,72,153,0)}}

.ocd .oc-window-body{display:grid;grid-template-columns:340px 1fr;min-height:560px;animation:oc-sidebar 36s ease-in-out infinite}
@keyframes oc-sidebar{
  0%,30%{grid-template-columns:340px 1fr}
  34%,58%{grid-template-columns:64px 1fr}
  62%,72%{grid-template-columns:340px 1fr}
  76%,100%{grid-template-columns:64px 1fr}
}
.ocd .oc-list-collapsed{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:14px;background:var(--cream);opacity:0;animation:oc-collapsed 36s ease-in-out infinite}
@keyframes oc-collapsed{
  0%,32%{opacity:0}
  35%,57%{opacity:1}
  60%,73%{opacity:0}
  77%,100%{opacity:1}
}
.ocd .oc-list-phase{transition:opacity .3s ease}
.ocd .oc-list-phase.phase-a,.ocd .oc-list-phase.phase-b{animation-name:oc-phase-a-v2}
.ocd .oc-list-hamburger{display:flex;flex-direction:column;gap:4px;width:22px;margin-bottom:8px}
.ocd .oc-list-hamburger span{display:block;height:2px;background:var(--ink-700);border-radius:2px}
.ocd .oc-list-mini-row{display:flex;align-items:center;justify-content:center}
.ocd .oc-av-mini{width:32px;height:32px;font-size:12px}
.ocd .oc-mini-active{position:relative}
.ocd .oc-mini-active::before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:3px;border-radius:2px;background:var(--terra-600)}

/* List */
.ocd .oc-list{background:var(--cream);border-right:1px solid rgba(43,39,35,.08);position:relative;overflow:hidden}
.ocd .oc-list-phase{position:absolute;inset:0;padding:14px 0;display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .5s ease}
.ocd .oc-list-phase.phase-a{animation:oc-phase-a 36s ease-in-out infinite}
.ocd .oc-list-phase.phase-b{animation:oc-phase-b 36s ease-in-out infinite}
/* Hide both expanded phases while sidebar is collapsed */
.ocd .oc-list-phase{will-change:opacity}
.ocd .oc-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;padding:12px 18px;align-items:flex-start;border-left:3px solid transparent;cursor:default;font-size:13px}
.ocd .oc-row.dim{opacity:.5}
.ocd .oc-row.read{opacity:.7}
.ocd .oc-row-active{background:rgba(206,156,134,.18);border-left-color:var(--terra-600)}
.ocd .oc-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;background:var(--ink-700);flex-shrink:0}
.ocd .oc-av-pop{background:linear-gradient(135deg,#ec4899,#a855f7);box-shadow:0 4px 12px rgba(236,72,153,.35)}
.ocd .oc-av-sm{width:28px;height:28px;font-size:11px;display:inline-flex;vertical-align:middle}
.ocd .oc-row-text{min-width:0;overflow:hidden}
.ocd .oc-row-from{font-size:13.5px;font-weight:700;color:var(--ink-900);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-row-sub{font-size:12.5px;color:var(--terra-700);font-weight:700;margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-row-prev{font-size:12px;color:var(--ink-500);margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-row-time{font-size:11px;color:var(--ink-500);font-weight:700;white-space:nowrap}

/* New email arrives */
.ocd .phase-a .oc-row-arriving{animation:oc-arrive-a 36s ease-in-out infinite}
.ocd .phase-b .oc-row-arriving{animation:oc-arrive-b 36s ease-in-out infinite}
@keyframes oc-arrive-a{
  0%{transform:translateY(-30px);opacity:0}
  3%{transform:translateY(0);opacity:1;box-shadow:inset 4px 0 0 0 rgba(236,72,153,.55)}
  7%{box-shadow:inset 4px 0 0 0 rgba(236,72,153,0)}
  100%{transform:translateY(0);opacity:1}
}
@keyframes oc-arrive-b{
  0%,58%{transform:translateY(-30px);opacity:0}
  62%{transform:translateY(0);opacity:1;box-shadow:inset 4px 0 0 0 rgba(236,72,153,.55)}
  66%{box-shadow:inset 4px 0 0 0 rgba(236,72,153,0)}
  100%{transform:translateY(0);opacity:1}
}

/* Right pane (mail) */
.ocd .oc-mail{background:#fff;position:relative;min-height:560px;overflow:hidden}
.ocd .oc-scene{position:absolute;inset:0;padding:28px 36px;opacity:0;transition:opacity .4s ease}

/* Empty cue */
.ocd .oc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-500)}
.ocd .oc-empty-icon{font-size:48px;color:var(--terra-600);opacity:.6;margin-bottom:10px}
.ocd .oc-empty-title{font-size:18px;font-weight:700;color:var(--ink-900)}
.ocd .oc-empty-sub{font-size:14px;margin-top:6px}

/* Opened mail */
.ocd .oc-mail-content{display:flex;flex-direction:column}
.ocd .oc-mail-subject{font-size:22px;font-weight:700;color:var(--ink-900);letter-spacing:-.01em;line-height:1.2;margin-bottom:12px}
.ocd .oc-mail-from-line{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(43,39,35,.08);margin-bottom:14px;font-size:13px;color:var(--ink-700)}
.ocd .oc-mail-from-name{font-weight:700;color:var(--ink-900)}
.ocd .oc-mail-time{margin-left:auto;color:var(--ink-500);font-size:12.5px;font-weight:700}

/* PDF chip */
.ocd .oc-pdf-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;background:var(--cream-2);border:1px solid rgba(43,39,35,.10);border-radius:10px;font-size:12.5px;color:var(--ink-700);font-weight:700;margin-bottom:18px;align-self:flex-start}
.ocd .oc-pdf-icon{font-size:10px;font-weight:700;letter-spacing:.05em;background:var(--terra-700);color:#fff;padding:4px 6px;border-radius:4px}
.ocd .oc-pdf-name{font-weight:700;color:var(--ink-900)}
.ocd .oc-pdf-size{color:var(--ink-500);font-weight:400}

/* Scrolling body */
.ocd .oc-mail-body{font-size:14.5px;line-height:1.6;color:var(--ink-800);flex:1;overflow:hidden;position:relative}
.ocd .oc-mail-body p{margin:0 0 12px}
.ocd .oc-scroll .oc-scroll-inner{animation:oc-scroll-s2 36s ease-in-out infinite}
@keyframes oc-scroll-s2{
  0%,13%{transform:translateY(0)}
  28%{transform:translateY(-260px)}
  32%,100%{transform:translateY(-260px)}
}
/* Scene 4 has its own taller scroll window during its visibility */
.ocd .s-4.oc-mail-content .oc-scroll .oc-scroll-inner{animation:oc-scroll-s4 36s ease-in-out infinite}
@keyframes oc-scroll-s4{
  0%,60%{transform:translateY(0)}
  70%{transform:translateY(-260px)}
  74%,100%{transform:translateY(-260px)}
}

/* Syllabus card */
.ocd .oc-syl-card{background:var(--paper);border:1px solid rgba(43,39,35,.10);border-radius:10px;padding:16px 18px;margin:6px 0 14px;box-shadow:0 4px 14px rgba(43,39,35,.04)}
.ocd .oc-syl-tag{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);margin-bottom:10px}
.ocd .oc-syl-list{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--ink-800);padding:0;margin:0}
.ocd .oc-syl-list li{padding-left:18px;position:relative;line-height:1.45}
.ocd .oc-syl-list li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--terra-500)}
.ocd .oc-syl-change em{color:var(--terra-700);font-style:italic;font-weight:700;background:rgba(255,214,107,.40);padding:0 4px;border-radius:3px}
.ocd .oc-syl-new{color:#5d6e54;font-weight:700}
.ocd .oc-syl-new::before{background:#7a8b6f !important}

/* Oculus email signature block (matches live signature template) */
.ocd .oc-sig{margin-top:24px;padding-top:18px;font-size:14px;color:var(--ink-800);line-height:1.5}
.ocd .oc-sig-greet{margin:0 0 16px;font-size:14.5px;color:var(--ink-800)}
.ocd .oc-sig-card{display:flex;gap:16px;align-items:stretch;margin-bottom:18px}
.ocd .oc-sig-avatar{width:72px;height:72px;border-radius:50%;border:3px solid var(--cream-2);overflow:hidden;flex-shrink:0;background:var(--ink-900);display:flex;align-items:center;justify-content:center}
.ocd .oc-sig-avatar img{width:100%;height:100%;object-fit:cover}
.ocd .oc-sig-meta{flex:1;border-left:1.5px solid rgba(168,106,74,.30);padding-left:16px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.ocd .oc-sig-name{font-size:26px;font-weight:700;color:var(--ink-900);line-height:1;letter-spacing:-.015em}
.ocd .oc-sig-role{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-sig-tag{font-style:italic;font-size:13.5px;color:var(--ink-700);margin-top:2px}
.ocd .oc-sig-slogan{font-size:22px;font-weight:700;color:var(--ink-900);letter-spacing:-.01em;margin-top:12px}
.ocd .oc-sig-slogan em{font-style:italic;font-weight:700;color:#ec4899;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ocd .oc-sig-promise{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);margin-top:6px}
.ocd .oc-sig-rule{height:1px;background:rgba(43,39,35,.12);margin:16px 0}
.ocd .oc-sig-rows{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;font-size:13.5px;color:var(--ink-800)}
.ocd .oc-sig-rows dt{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-700);align-self:center;margin:0}
.ocd .oc-sig-rows dd{margin:0;color:var(--ink-800)}
.ocd .oc-sig-rows dd a{color:var(--ink-800);text-decoration:underline}
.ocd .oc-sig-cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(120deg,#f97316 0%,#ec4899 55%,#a855f7 100%);background-size:200% auto;color:#fff;font-weight:700;font-size:13px;letter-spacing:.10em;text-transform:uppercase;padding:14px 26px;border-radius:999px;text-decoration:none;border:none;font-family:inherit;cursor:pointer;margin-top:16px;box-shadow:0 10px 24px rgba(236,72,153,.28);animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-sig-cta::after{content:"\2192";font-weight:700}
.ocd .oc-sig-footer{margin-top:18px;padding-top:12px;border-top:1px solid rgba(43,39,35,.10);font-size:11.5px;color:var(--ink-500);line-height:1.45}
.ocd .oc-sig-footer .green{color:#5d6e54;font-weight:700}
.ocd .oc-sig-footer a{color:var(--ink-700);text-decoration:underline}

/* Reply button (in mail view) */
.ocd .oc-mail-actions{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid rgba(43,39,35,.08);margin-top:auto}
.ocd .oc-reply-btn{position:relative;background:linear-gradient(120deg,#ec4899,#a855f7);color:#fff;border:none;padding:10px 22px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:inherit;cursor:pointer;box-shadow:0 8px 20px rgba(236,72,153,.30);animation:oc-reply-press 36s ease-in-out infinite}
.ocd .oc-reply-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #ec4899;opacity:0;pointer-events:none;animation:oc-ring-reply 36s ease-out infinite}
/* Reply button presses TWICE in the new flow: once at ~28% (open Bea email → reply), once at ~74% (after PAUSE on v2 email row → reply) */
@keyframes oc-reply-press{
  0%,26%{transform:scale(1);box-shadow:0 8px 20px rgba(236,72,153,.30)}
  28%{transform:scale(.92);box-shadow:0 4px 10px rgba(236,72,153,.45)}
  30%{transform:scale(1.04);box-shadow:0 14px 32px rgba(236,72,153,.55)}
  32%,72%{transform:scale(1);box-shadow:0 8px 20px rgba(236,72,153,.30)}
  74%{transform:scale(.92);box-shadow:0 4px 10px rgba(236,72,153,.45)}
  76%{transform:scale(1.04);box-shadow:0 14px 32px rgba(236,72,153,.55)}
  78%,100%{transform:scale(1);box-shadow:0 8px 20px rgba(236,72,153,.30)}
}
@keyframes oc-ring-reply{
  0%,27%{transform:scale(1);opacity:0}
  28%{transform:scale(1);opacity:.7}
  32%{transform:scale(1.7);opacity:0}
  73%{transform:scale(1);opacity:0}
  74%{transform:scale(1);opacity:.7}
  78%{transform:scale(1.7);opacity:0}
  100%{transform:scale(1);opacity:0}
}

/* Compose scene */
.ocd .oc-compose-scene{display:flex;align-items:flex-start;justify-content:center}
.ocd .oc-compose{width:100%;background:#fff;border:1.5px solid var(--terra-300);border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(43,39,35,.08)}
.ocd .oc-compose-head{padding:12px 18px;background:var(--cream);border-bottom:1px solid rgba(43,39,35,.08)}
.ocd .oc-compose-row{display:flex;gap:10px;font-size:13px;padding:4px 0;color:var(--ink-700)}
.ocd .oc-compose-label{font-weight:700;color:var(--terra-700);width:32px;flex-shrink:0;letter-spacing:.08em}
.ocd .oc-compose-body{padding:18px 24px;font-size:15px;line-height:1.5;color:var(--ink-900);font-family:inherit}
.ocd .oc-compose-foot{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid rgba(43,39,35,.08);background:var(--cream)}
.ocd .oc-send{background:linear-gradient(120deg,#ec4899,#a855f7);background-size:200% auto;color:#fff;border:none;padding:10px 26px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:inherit;cursor:pointer;box-shadow:0 8px 22px rgba(236,72,153,.35);animation:ocd-gradient-shift 6s ease-in-out infinite}

/* Caret + typed */
.ocd .oc-caret{display:inline-block;color:var(--ink-700);animation:oc-caret 1s steps(1) infinite}
@keyframes oc-caret{50%{opacity:0}}
.ocd .oc-typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;vertical-align:baseline}
.ocd .oc-typed::before{content:""}
.ocd .oc-typed.t-1::before{content:"Thank you,"}
.ocd .oc-typed.t-2::before{content:"Thank you,"}

/* Reply body — tight, real-email spacing */
.ocd .oc-rep-body{padding:18px 22px;font-size:15px;line-height:1.5;color:var(--ink-900)}
.ocd .oc-rep-body .oc-rep-line{margin:0 0 8px}
.ocd .oc-rep-body .oc-rep-line:last-of-type{margin-bottom:0}
.ocd .oc-rep-body strong{font-weight:700}
.ocd .oc-rep-list{margin:4px 0 12px;padding:0 0 0 22px;display:flex;flex-direction:column;gap:4px}
.ocd .oc-rep-list li{font-size:15px;line-height:1.45;color:var(--ink-800)}

/* Marlene signature with Meridian made-up logo */
.ocd .oc-mar-sig{margin-top:12px;padding-top:10px;border-top:1px solid rgba(43,39,35,.10)}
.ocd .oc-mar-logo{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px}
.ocd .oc-mar-mark{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0a4a8e,#2058a8);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:0;box-shadow:0 4px 10px rgba(10,74,142,.32)}
.ocd .oc-mar-mark-word{font-size:11px;font-weight:700;letter-spacing:.32em;color:#0a4a8e}
.ocd .oc-mar-name{font-size:15px;font-weight:700;color:var(--ink-900);line-height:1.2;margin-top:2px}
.ocd .oc-mar-title{font-size:12.5px;color:var(--ink-600,var(--ink-700));margin-top:2px}

/* (No more typing — Marlene signature is part of static reply content) */

/* "Program approved · booked" combined success card inside the approved reply */
.ocd .oc-approved-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#5d6e54,#3f4f37);color:#fff;border-radius:14px;padding:14px 18px;margin:10px 0 12px;box-shadow:0 14px 32px rgba(93,110,84,.30)}
.ocd .oc-approved-check{width:48px;height:48px;border-radius:50%;background:#fff;color:#5d6e54;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.ocd .oc-approved-text{display:flex;flex-direction:column}
.ocd .oc-approved-title{font-size:18px;font-weight:700;letter-spacing:-.005em;line-height:1.2}
.ocd .oc-approved-title em{font-style:italic;font-weight:400;color:rgba(255,255,255,.78)}
.ocd .oc-approved-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:3px}

/* Success */
.ocd .oc-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px}
.ocd .oc-check{width:104px;height:104px;border-radius:50%;background:linear-gradient(135deg,#7a8b6f,#5d6e54);color:#fff;font-size:58px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 44px rgba(122,139,111,.45)}
.ocd .oc-success-title{font-size:30px;font-weight:700;color:var(--ink-900);margin-top:16px;letter-spacing:-.01em}
.ocd .oc-success-title em{font-style:italic;font-weight:400;color:var(--terra-700)}
.ocd .oc-success-sub{font-size:14.5px;color:var(--ink-700);margin-top:6px;max-width:380px}

/* Cursor sprite — 33px (50% larger), with click-burst pseudo */
.ocd .oc-cursor{position:absolute;width:33px;height:33px;top:0;left:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 2 L21 12 L13 14 L9 22 Z' fill='%23ffffff' stroke='%232b2723' stroke-width='1.2' stroke-linejoin='round'/></svg>") no-repeat center/contain;pointer-events:none;z-index:10;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));opacity:0;animation:oc-cursor 36s ease-in-out infinite}
.ocd .oc-cursor::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin-left:-32px;margin-top:-32px;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><g stroke='%23ec4899' stroke-width='2.6' stroke-linecap='round'><line x1='24' y1='4' x2='24' y2='12'/><line x1='38' y1='10' x2='32' y2='16'/><line x1='44' y1='24' x2='36' y2='24'/><line x1='38' y1='38' x2='32' y2='32'/><line x1='24' y1='44' x2='24' y2='36'/><line x1='10' y1='38' x2='16' y2='32'/><line x1='4' y1='24' x2='12' y2='24'/><line x1='10' y1='10' x2='16' y2='16'/></g></svg>") no-repeat center/contain;opacity:0;transform:scale(.5);animation:oc-cursor-burst 36s ease-in-out infinite}
/* Cursor click-burst: 8 radiating pink lines expand outward at each of the 5 click moments */
@keyframes oc-cursor-burst{
  0%,5%{opacity:0;transform:scale(.5)}
  7%{opacity:.9;transform:scale(.5)}
  9%{opacity:0;transform:scale(1.35)}
  26%{opacity:0;transform:scale(.5)}
  28%{opacity:.9;transform:scale(.5)}
  30%{opacity:0;transform:scale(1.35)}
  54%{opacity:0;transform:scale(.5)}
  56%{opacity:.9;transform:scale(.5)}
  58%{opacity:0;transform:scale(1.35)}
  72%{opacity:0;transform:scale(.5)}
  74%{opacity:.9;transform:scale(.5)}
  76%{opacity:0;transform:scale(1.35)}
  94%{opacity:0;transform:scale(.5)}
  96%{opacity:.9;transform:scale(.5)}
  98%{opacity:0;transform:scale(1.35)}
  100%{opacity:0;transform:scale(.5)}
}

/* Cursor stays VISIBLE the whole loop and drifts smoothly between 5 click targets.
   ~7%   click new email row (sidebar EXPANDED, top of inbox)
   ~28%  click Reply on opened Bea email (right pane, near bottom)
   ~56%  click Send on Marlene's 3-changes reply (sidebar COLLAPSED, right pane bottom)
   ~74%  click v2 email row in inbox (sidebar EXPANDED again)
   ~96%  click Send on the approved reply
*/
/* Positions measured live on the rendered page (Chrome DevTools, 1180px stage) */
@keyframes oc-cursor{
  0%{opacity:0;top:50%;left:50%}
  2%{opacity:1}
  4%,6%{opacity:1;top:60px;left:50px;transform:scale(1)}               /* hover inbox row */
  8%{top:60px;left:50px;transform:scale(.82)}                          /* click 1 */
  10%{top:60px;left:50px;transform:scale(1)}
  25%,27%{top:556px;left:1050px;transform:scale(1)}                    /* hover Reply (Bea email) */
  28%{top:556px;left:1050px;transform:scale(.82)}                      /* click 2 */
  30%{top:556px;left:1050px;transform:scale(1)}
  53%,55%{top:488px;left:1040px;transform:scale(1)}                    /* hover Send (3-changes reply) */
  56%{top:488px;left:1040px;transform:scale(.82)}                      /* click 3 */
  58%{top:488px;left:1040px;transform:scale(1)}
  71%,73%{top:60px;left:50px;transform:scale(1)}                       /* hover v2 inbox row */
  74%{top:60px;left:50px;transform:scale(.82)}                         /* click 4 */
  76%{top:60px;left:50px;transform:scale(1)}
  93%,95%{top:524px;left:1040px;transform:scale(1)}                    /* hover final Send (approved) */
  96%{top:524px;left:1040px;transform:scale(.82)}                      /* click 5 */
  98%,100%{top:524px;left:1040px;transform:scale(1);opacity:1}
}

/* ===== Master scene visibility timeline (36s loop) =====
   New flow (KJ 2026-05-17):
   0-11%   S1 inbox arrival (sidebar EXPANDED, empty right pane cue)
   11-30%  S2 opened Bea email + PDF + syllabus (sidebar EXPANDED, then collapses ~30%)
   34-58%  S3 Marlene's 3-changes reply (sidebar COLLAPSED, click Send near end)
   60-72%  S4 sidebar EXPANDS, v2 email arrives + PAUSE (right pane idle/cue)
   77-100% S5 Marlene's approved reply with success card (sidebar COLLAPSED again)
*/
.ocd .s-1{animation:oc-s1 36s ease-in-out infinite}
.ocd .s-2{animation:oc-s2 36s ease-in-out infinite}
.ocd .s-3{animation:oc-s3 36s ease-in-out infinite}
.ocd .s-4{animation:oc-s4 36s ease-in-out infinite}
.ocd .s-5{animation:oc-s5 36s ease-in-out infinite}
@keyframes oc-s1{0%,9%{opacity:1}11%,100%{opacity:0}}
@keyframes oc-s2{0%,10%{opacity:0}13%,30%{opacity:1}33%,100%{opacity:0}}
@keyframes oc-s3{0%,33%{opacity:0}36%,57%{opacity:1}59%,100%{opacity:0}}
@keyframes oc-s4{0%,59%{opacity:0}62%,72%{opacity:1}74%,100%{opacity:0}}
@keyframes oc-s5{0%,75%{opacity:0}78%,100%{opacity:1}}

/* Phase swap (inbox list) */
/* Phase A visible only while expanded in the first half (0-30%) */
@keyframes oc-phase-a{0%,30%{opacity:1}32%,100%{opacity:0}}
/* Phase B visible only during the second expand window (60-72%) */
@keyframes oc-phase-b{0%,60%{opacity:0}62%,72%{opacity:1}74%,100%{opacity:0}}

/* Typed text width-driven */
.ocd .oc-typed.t-1{animation:oc-t1 36s linear infinite}
.ocd .oc-typed.t-2{animation:oc-t2 36s linear infinite}
/* Short string "Thank you," - type out over ~2.5s within each scene */
@keyframes oc-t1{0%,40%{max-width:0}48%{max-width:8em}58%,100%{max-width:8em}}
@keyframes oc-t2{0%,80%{max-width:0}86%{max-width:8em}91%,100%{max-width:8em}}

/* ZOOM into Send button area at ~50% of timeline (t=18s) */
@keyframes oc-zoom{
  0%,50%{transform:scale(1);transform-origin:78% 80%}
  53%{transform:scale(1.45);transform-origin:78% 82%}
  58%{transform:scale(1.45);transform-origin:78% 82%}
  62%{transform:scale(1);transform-origin:78% 80%}
  100%{transform:scale(1);transform-origin:78% 80%}
}

/* Send button pulse during zoom */
.ocd .oc-send{position:relative}
.ocd .oc-send-1{animation:oc-send-press-1 36s ease-in-out infinite}
.ocd .oc-send-2{animation:oc-send-press-2 36s ease-in-out infinite}
.ocd .oc-send-1::after,.ocd .oc-send-2::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #ec4899;opacity:0;pointer-events:none}
.ocd .oc-send-1::after{animation:oc-ring-send-1 36s ease-out infinite}
.ocd .oc-send-2::after{animation:oc-ring-send-2 36s ease-out infinite}
/* Send button presses use same scale curve as Reply for consistency */
@keyframes oc-send-press-1{
  0%,53%{transform:scale(1);box-shadow:0 8px 22px rgba(236,72,153,.35)}
  55%{transform:scale(.92);box-shadow:0 4px 12px rgba(236,72,153,.45)}
  57%{transform:scale(1.04);box-shadow:0 14px 36px rgba(236,72,153,.60)}
  59%,100%{transform:scale(1);box-shadow:0 8px 22px rgba(236,72,153,.35)}
}
@keyframes oc-send-press-2{
  0%,94%{transform:scale(1);box-shadow:0 8px 22px rgba(236,72,153,.35)}
  96%{transform:scale(.92);box-shadow:0 4px 12px rgba(236,72,153,.45)}
  98%{transform:scale(1.04);box-shadow:0 14px 36px rgba(236,72,153,.60)}
  100%{transform:scale(1);box-shadow:0 8px 22px rgba(236,72,153,.35)}
}
@keyframes oc-ring-send-1{
  0%,54%{transform:scale(1);opacity:0}
  55%{transform:scale(1);opacity:.7}
  59%{transform:scale(1.7);opacity:0}
  100%{transform:scale(1);opacity:0}
}
@keyframes oc-ring-send-2{
  0%,95%{transform:scale(1);opacity:0}
  96%{transform:scale(1);opacity:.7}
  100%{transform:scale(1.7);opacity:0}
}

/* Section shrinks proportionally instead of reflowing. Window keeps its 1180px layout intact and just scales down with viewport. */
.ocd .ocd-approval-flow{overflow:hidden}
.ocd .ocd-approval-flow.in-hero{background:transparent;padding:48px 0 0;margin-top:32px}
.ocd .ocd-approval-flow.in-hero .flow-footnote{margin-top:32px}

/* Always-on responsive scale: section stays 1180px wide internally, transforms down to fit viewport. */
.ocd .ocd-approval-flow .flow-stage-v2{
  --fs-scale:clamp(.40, calc((100vw - 40px) / 1180px), 1);
  width:1180px !important;
  max-width:none !important;
  position:relative;
  left:50vw;
  margin-left:-590px;
  padding:0;
  transform:scale(var(--fs-scale));
  transform-origin:top center;
  /* Pull subsequent siblings up to absorb the empty layout space the scale-down leaves below */
  margin-bottom:calc((var(--fs-scale) - 1) * 660px);
}

/* ============================
   SECTION 3: TRUST + CREDENTIALS (white background)
============================ */
.ocd .oc-trust{background:#fff;padding:88px 0 96px;color:var(--ink-900);position:relative}
.ocd .oc-trust-head{text-align:center;margin-bottom:48px;padding:0 28px}
.ocd .oc-trust-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-trust-eyebrow::before,.ocd .oc-trust-eyebrow::after{content:"";display:inline-block;width:28px;height:1.5px;background:var(--terra-600)}

.ocd .oc-stats-grid{max-width:1180px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr 1px 1fr;align-items:center}
.ocd .stat-divider{width:1px;height:88px;background:var(--hd-line);align-self:center}

.ocd .stat-cell,.ocd .lenny-cell,.ocd .press-cell{padding:0 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.ocd .stat-num{font-weight:700;font-size:54px;line-height:1.15;letter-spacing:-.02em;color:var(--ink-900);display:inline-block}
.ocd .stat-num-word{font-size:36px}
.ocd .stat-suffix{opacity:.72}

/* Per-stat solid-color tints — distinct brand colors, no gradient */
.ocd .stat-c-terra .stat-num{color:#a86a4a}
.ocd .stat-c-purple .stat-num{color:#a855f7}
.ocd .stat-c-pink .stat-num{color:#ec4899}
.ocd .stat-c-green .stat-num{color:#5d6f54}
.ocd .stat-suffix{display:inline;font-size:30px;font-weight:700}
.ocd .stat-num-word .stat-suffix{font-size:26px}
.ocd .stat-label{font-size:13.5px;font-weight:700;color:var(--ink-500);line-height:1.4;max-width:160px}
.ocd .stat-sub{font-size:10.5px;font-weight:700;color:var(--terra-700);letter-spacing:.08em;margin-top:2px}

/* Training Magazine featured-author badge */
.ocd .press-cell{gap:8px}
.ocd .press-badge{width:64px;height:64px;border-radius:14px;background:var(--ink-900);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;flex-shrink:0;box-shadow:0 8px 20px rgba(43,39,35,.20)}
.ocd .press-badge .mag-t{font-size:22px;font-weight:700;color:#fff;line-height:1;letter-spacing:-.04em}
.ocd .press-badge .mag-sub{font-size:6px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);line-height:1}
.ocd .press-label{font-size:12.5px;font-weight:700;color:var(--ink-700);line-height:1.4;max-width:130px}
.ocd .press-label em{font-style:italic;font-weight:700;color:var(--ink-900)}

/* Lenny medal — animated trophy */
.ocd .lenny-cell{gap:10px}
.ocd .lenny-medal{width:78px;height:78px;position:relative;animation:lenny-bob 4s ease-in-out infinite;flex-shrink:0}
.ocd .lenny-medal .ring{position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(168,85,247,.45);animation:lenny-ring-rotate 18s linear infinite}
.ocd .lenny-medal .body{position:absolute;inset:6px;border-radius:50%;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;animation:ocd-gradient-shift 5s ease-in-out infinite;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 8px 24px rgba(236,72,153,.35),0 3px 8px rgba(168,85,247,.25)}
.ocd .lenny-medal .body::after{content:'';position:absolute;inset:-20%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:lenny-shimmer 3.8s ease-in-out infinite;pointer-events:none}
.ocd .lenny-medal .body .icon{font-size:32px;line-height:1;position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.20))}
.ocd .lenny-ribbon{display:flex;gap:3px;margin-top:-4px}
.ocd .lenny-ribbon span{display:block;width:11px;height:20px;border-radius:0 0 3px 3px}
.ocd .lenny-ribbon span:nth-child(1){background:#ec4899}
.ocd .lenny-ribbon span:nth-child(2){background:#a855f7}
.ocd .lenny-ribbon span:nth-child(3){background:#f97316}
.ocd .lenny-title{font-size:13.5px;font-weight:700;color:var(--ink-900);line-height:1.3;letter-spacing:.01em}
.ocd .lenny-award-name{font-size:10.5px;font-weight:700;color:var(--terra-700);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}

@keyframes lenny-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes lenny-ring-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes lenny-shimmer{0%{transform:translateX(-100%)}50%{transform:translateX(380%)}100%{transform:translateX(-100%)}}

/* Responsive: 5 → 3 → 2 columns; dividers hidden below 5-col */
@media (max-width:1200px){
  .ocd .oc-stats-grid{grid-template-columns:1fr 1fr 1fr;gap:32px 0}
  .ocd .stat-divider{display:none}
  .ocd .stat-cell,.ocd .lenny-cell,.ocd .press-cell{padding:16px 18px;border-bottom:1px solid var(--hd-line)}
}
@media (max-width:680px){
  .ocd .oc-stats-grid{grid-template-columns:1fr 1fr;gap:0}
  .ocd .stat-num{font-size:42px}
  .ocd .stat-num-word{font-size:28px}
  .ocd .lenny-medal{width:64px;height:64px}
  .ocd .lenny-medal .body .icon{font-size:26px}
  .ocd .press-badge{width:52px;height:52px;border-radius:12px}
  .ocd .press-badge .mag-t{font-size:18px}
}

/* ============================
   SECTION 4: TRAINING PILLARS — 4 design variants stacked
============================ */
.ocd .oc-pillars{padding:80px 0;position:relative}
.ocd .oc-pillars-a{background:var(--paper)}
.ocd .oc-pillars-b{background:#fff}
.ocd .oc-pillars-c{background:var(--paper)}
.ocd .oc-pillars-d{background:#fff}
.ocd .opt-label-light{position:absolute;top:18px;left:28px;font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700);background:#fff;border:1px solid var(--hd-line);padding:6px 12px;border-radius:999px;z-index:2;box-shadow:0 4px 10px rgba(43,39,35,.06)}
.ocd .pillars-head{text-align:center;margin:0 auto 48px;padding:0 28px;max-width:780px}
.ocd .pillars-h2{font-weight:700;font-size:clamp(32px,3.4vw,46px);line-height:1.05;letter-spacing:-.02em;color:var(--ink-900);margin-top:14px;text-wrap:balance}
.ocd .pillars-h2 em{font-style:italic;font-weight:400;color:var(--terra-700)}

/* Shared chip style */
.ocd .pa-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:8px}
.ocd .pa-chip{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-700);background:#fff;border:1px solid var(--hd-line);padding:4px 8px;border-radius:999px}

/* === TRAINING PILLARS · Equal Cards Grid with animated images === */
.ocd .pillars-sub{font-size:16px;color:var(--ink-700);max-width:600px;margin:14px auto 0;line-height:1.55}
.ocd .pa-grid{max-width:1320px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch}
.ocd .pa-card{background:#fff;border:1px solid var(--hd-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:all .35s ease;position:relative}
.ocd .pa-price-band{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 24px;background:var(--accent);color:#fff;margin:14px -24px -28px -24px;border-radius:0 0 20px 20px}
.ocd .pa-price-band .pa-price-lbl{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.ocd .pa-price-band .pa-price-amt{font-size:26px;font-weight:700;color:#fff;letter-spacing:-.015em;line-height:1;font-variant-numeric:tabular-nums}

/* Section-title pricing stub (sits BEFORE the description on services that have a starting price) */
.ocd .oc-section-price-stub{display:inline-flex;align-items:baseline;gap:8px;margin:8px 0 14px;flex-wrap:wrap}
.ocd .oc-section-price-stub .lbl{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-section-price-stub .amt{font-size:28px;font-weight:700;color:var(--ink-900);letter-spacing:-.015em;line-height:1;font-variant-numeric:tabular-nums}
.ocd .oc-section-price-stub .per{font-size:12px;font-weight:700;color:var(--ink-500);text-transform:uppercase;letter-spacing:.12em}
.ocd .pa-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);z-index:2}
.ocd .pa-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -20px rgba(43,39,35,.24)}

/* Image area with gentle bob + hover zoom */
.ocd .pa-img{aspect-ratio:5/3;background:color-mix(in srgb,var(--accent) 14%,#fff);overflow:hidden;position:relative}
.ocd .pa-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ocd .pa-card:hover .pa-img img{transform:scale(1.06);animation-play-state:paused}
@keyframes pa-bob{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-3px)}}
.ocd .pa-grid .pa-card:nth-child(2) .pa-img img{animation-delay:-1.5s}
.ocd .pa-grid .pa-card:nth-child(3) .pa-img img{animation-delay:-3s}
.ocd .pa-grid .pa-card:nth-child(4) .pa-img img{animation-delay:-4.5s}

.ocd .pa-card-inner{padding:22px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.ocd .pa-num{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--accent)}
.ocd .pa-title{font-size:22px;font-weight:700;color:var(--ink-900);line-height:1.18;letter-spacing:-.01em}
.ocd .pa-title em{font-style:italic;font-weight:400;color:var(--accent)}
.ocd .pa-body{font-size:14px;line-height:1.5;color:var(--ink-700);flex-grow:1}
.ocd .pa-arrow{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-900);margin-top:8px;transition:color .25s ease}
.ocd .pa-card:hover .pa-arrow{color:var(--accent)}

/* Accent-color button per card (replaces the small Explore arrow) */
.ocd .pa-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:11px 16px;border-radius:999px;align-self:flex-start;margin-top:10px;text-decoration:none;transition:all .3s ease;box-shadow:0 6px 16px -6px rgba(43,39,35,.25)}
.ocd .pa-card:hover .pa-btn{transform:translateY(-2px);box-shadow:0 12px 22px -8px rgba(43,39,35,.40);filter:brightness(1.08)}

/* Corner badge inside the image area (Specialists / Most Requested) */
.ocd .pa-img{position:relative}
.ocd .pa-badge{position:absolute;top:12px;right:12px;background:var(--ink-900);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 11px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.30);z-index:3}

/* === LOCKED PILLAR LAYOUT · Image bottom === */
.ocd .pa-fmt-bottom .pa-card-bottom{display:flex;flex-direction:column;padding:26px 24px 28px}
.ocd .pa-fmt-bottom .pa-card-bottom::before{display:none}
.ocd .pa-fmt-bottom .pa-card-inner{padding:0;gap:10px;flex:1}
.ocd .pa-fmt-bottom .pa-eyebrow-b{font-size:13.5px;font-weight:700;letter-spacing:0;text-transform:none;margin-bottom:2px}
.ocd .pa-fmt-bottom .pa-title-b{font-size:22px;font-weight:700;color:var(--ink-900);line-height:1.18;letter-spacing:-.01em;margin-bottom:4px}
.ocd .pa-fmt-bottom .pa-title-b em{font-style:italic;font-weight:400;color:var(--accent)}
.ocd .pa-fmt-bottom .pa-body{font-size:14px;line-height:1.5;color:var(--ink-700);flex-grow:0;margin-bottom:8px}
.ocd .pa-fmt-bottom .pa-btn-b{margin-top:6px;margin-bottom:18px}
.ocd .pa-img-bottom{aspect-ratio:5/3;background:transparent;margin-top:auto;position:relative;overflow:visible}
.ocd .pa-img-bottom img{width:100%;height:100%;aspect-ratio:5/3;object-fit:cover;border-radius:14px;background:color-mix(in srgb,var(--accent) 22%,#fff)}

/* Chip preview: 2 visible + "+N" round circle. Card hover reveals the rest. */
.ocd .pa-chips-preview{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ocd .pa-chips-preview .pa-chip-extra{display:none}
.ocd .pa-chip-more{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;border-radius:999px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;padding:0 9px;letter-spacing:.02em;transition:transform .25s ease}
.ocd .pa-card:hover .pa-chip-more{display:none}
.ocd .pa-card:hover .pa-chips-preview .pa-chip-extra{display:inline-flex}

/* Corner ribbon banner — wraps around the right edge of the card */
.ocd .pa-fmt-bottom .pa-card-bottom{position:relative;overflow:visible}
.ocd .pa-ribbon{position:absolute;bottom:90px;right:0;z-index:3;background:var(--ink-900);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;border-radius:4px 0 0 4px;box-shadow:-4px 8px 18px rgba(0,0,0,.25);white-space:nowrap}
/* "Back" of the ribbon wrapping past the right edge with a folded-corner cut */
.ocd .pa-ribbon::after{content:"";position:absolute;top:0;right:-10px;width:10px;height:100%;background:#0c0806;clip-path:polygon(0 0,100% 0,100% 65%,0 100%)}

/* === VARIANT 1 · DEPTH LIFT — colored shadow underlay, tilt + glow on hover === */
.ocd .pa-fx-depth .pa-grid{perspective:1200px}
.ocd .pa-fx-depth .pa-card{position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,filter .45s ease}
.ocd .pa-fx-depth .pa-card::after{content:"";position:absolute;inset:8px -8px -8px 8px;border-radius:20px;background:var(--accent);opacity:.18;z-index:-1;transition:all .45s cubic-bezier(.2,.7,.2,1);filter:blur(2px)}
.ocd .pa-fx-depth .pa-card:hover{transform:translateY(-12px) rotateX(3deg) rotateY(-2deg);box-shadow:0 40px 80px -24px rgba(43,39,35,.35)}
.ocd .pa-fx-depth .pa-card:hover::after{inset:14px -14px -16px 14px;opacity:.42;filter:blur(6px)}
.ocd .pa-fx-depth .pa-card:hover::before{box-shadow:0 0 24px var(--accent);height:6px}
.ocd .pa-fx-depth .pa-card .pa-img img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.ocd .pa-fx-depth .pa-card:hover .pa-img img{transform:scale(1.10)}
.ocd .pa-fx-depth .pa-num{transition:font-size .35s ease,letter-spacing .35s ease}
.ocd .pa-fx-depth .pa-card:hover .pa-num{font-size:14px;letter-spacing:.28em}

/* === VARIANT 2 · MAGNETIC SPREAD — hovered card expands, neighbors shrink === */
.ocd .pa-fx-spread .pa-grid-flex{display:flex;gap:18px;max-width:1240px;margin:0 auto;padding:0 28px}
.ocd .pa-fx-spread .pa-card{flex:1 1 0;min-width:0;transition:flex .55s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,transform .35s ease}
.ocd .pa-fx-spread .pa-grid-flex:hover .pa-card{flex:1 1 0;opacity:.7;filter:saturate(.85)}
.ocd .pa-fx-spread .pa-grid-flex .pa-card:hover{flex:2.4 1 0;opacity:1;filter:none;transform:translateY(-6px);box-shadow:0 28px 60px -20px rgba(43,39,35,.30)}
.ocd .pa-fx-spread .pa-img img{transition:transform .55s ease}
.ocd .pa-fx-spread .pa-card:hover .pa-img img{transform:scale(1.06)}
.ocd .pa-fx-spread .pa-card .pa-body,.ocd .pa-fx-spread .pa-card .pa-chips{transition:opacity .35s ease,max-height .45s ease;opacity:.55}
.ocd .pa-fx-spread .pa-card:hover .pa-body,.ocd .pa-fx-spread .pa-card:hover .pa-chips{opacity:1}
.ocd .pa-fx-spread .pa-card:not(:hover) .pa-chips{max-height:0;overflow:hidden;padding-top:0;opacity:0}
.ocd .pa-fx-spread .pa-card .pa-chips{max-height:260px;overflow:hidden}

/* === VARIANT 3 · REVEAL SLIDE — chips + Explore slide up from below on hover === */
.ocd .pa-fx-reveal .pa-card{overflow:hidden}
.ocd .pa-fx-reveal .pa-card .pa-img{position:relative;aspect-ratio:5/3;overflow:hidden}
.ocd .pa-fx-reveal .pa-card .pa-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--accent) 88%,#000) 100%);opacity:0;transition:opacity .4s ease}
.ocd .pa-fx-reveal .pa-card:hover .pa-img::after{opacity:.85}
.ocd .pa-fx-reveal .pa-img-num{position:absolute;top:14px;left:18px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.22em;z-index:2;text-shadow:0 2px 6px rgba(0,0,0,.45);transition:font-size .35s ease}
.ocd .pa-fx-reveal .pa-card:hover .pa-img-num{font-size:18px}
.ocd .pa-fx-reveal .pa-card .pa-card-inner{position:relative;padding:18px 22px;gap:8px}
.ocd .pa-fx-reveal .pa-reveal{max-height:0;overflow:hidden;opacity:0;transition:all .45s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;gap:10px}
.ocd .pa-fx-reveal .pa-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -18px rgba(43,39,35,.30)}
.ocd .pa-fx-reveal .pa-card:hover .pa-reveal{max-height:300px;opacity:1;margin-top:10px}
.ocd .pa-fx-reveal .pa-card .pa-body{transition:color .3s ease}

/* Browse-the-library CTA below the 4 cards */
.ocd .pa-library-cta{margin:48px auto 0;display:flex;justify-content:center;padding:0 28px}

/* Compact industry icon strip under pillar cards */
.ocd .pa-indstrip{max-width:1180px;margin:clamp(36px,4vw,52px) auto 0;padding:clamp(20px,2.4vw,28px) clamp(20px,3vw,40px);display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.5vw,32px);flex-wrap:wrap;border-top:1px solid rgba(206,156,134,.22);border-bottom:1px solid rgba(206,156,134,.22)}
.ocd .pa-indstrip-lbl{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8a4f33;flex-shrink:0}
.ocd .pa-indstrip-list{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,32px);flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ocd .pa-indstrip-item{display:inline-flex;align-items:center;gap:8px;color:#4A423C;transition:color .25s ease,transform .25s ease}
.ocd .pa-indstrip-item:hover{color:#8a4f33;transform:translateY(-2px)}
.ocd .pa-indstrip-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:currentColor}
.ocd .pa-indstrip-icon svg{width:22px;height:22px}
.ocd .pa-indstrip-name{font-size:13px;font-weight:700;letter-spacing:-.01em;color:#2B2723}
@media (max-width:560px){.ocd .pa-indstrip{gap:14px}.ocd .pa-indstrip-list{gap:14px}.ocd .pa-indstrip-name{font-size:12px}.ocd .pa-indstrip-icon svg{width:20px;height:20px}}
.ocd .pa-library-btn{display:inline-flex;align-items:center;gap:14px;background:var(--ink-900);border:none;border-radius:999px;padding:18px 30px;text-decoration:none;color:#fff;font-family:inherit;transition:all .3s ease;box-shadow:0 10px 28px -10px rgba(43,39,35,.45)}
.ocd .pa-library-btn:hover{background:#8a4f33;color:#fff;transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(138,79,51,.55)}
.ocd .pa-library-btn span:first-child{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ocd .pa-library-meta{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.04em;border-left:1px solid rgba(255,255,255,.22);padding-left:14px}
.ocd .pa-library-btn:hover .pa-library-meta{color:rgba(255,255,255,.85);border-left-color:rgba(255,255,255,.35)}

/* Custom Training feature block beneath the 4-pillar grid */
.ocd .pa-custom{max-width:1320px;margin:80px auto 0;padding:0 40px;display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.ocd .pa-custom-visual img{width:100%;max-width:480px;display:block;margin:0 auto;border-radius:24px;box-shadow:0 24px 60px -20px rgba(43,39,35,.22)}
.ocd .pa-custom-text{display:flex;flex-direction:column;gap:14px}
.ocd .pa-custom-h3{font-weight:700;font-size:clamp(28px,2.8vw,38px);line-height:1.1;letter-spacing:-.015em;color:var(--ink-900);margin-top:10px}
.ocd .pa-custom-h3 em{font-style:italic;font-weight:400;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding-right:.05em}
.ocd .pa-custom-body{font-size:16px;line-height:1.6;color:var(--ink-700);max-width:560px}
.ocd .pa-custom-cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(120deg,#f97316 0%,#ec4899 55%,#a855f7 100%);background-size:200% auto;color:#fff;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:16px 26px;border-radius:999px;text-decoration:none;box-shadow:0 10px 24px rgba(236,72,153,.30);animation:ocd-gradient-shift 6s ease-in-out infinite;transition:transform .25s ease}
.ocd .pa-custom-cta:hover{background:var(--ink-900);background-image:none;transform:translateY(-2px)}
.ocd .pa-custom-cta-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--ink-900);border:1.5px solid var(--ink-900);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:14.5px 26px;border-radius:999px;text-decoration:none;transition:all .25s ease}
.ocd .pa-custom-cta-outline:hover{background:var(--ink-900);color:#fff;transform:translateY(-2px)}
.ocd .pa-custom-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}

/* ===== ASK OWLENE: interactive FAQ ===== */
.ocd .pa-aqo{max-width:1320px;margin:clamp(64px,7vw,96px) auto 0;padding:0 40px}
.ocd .pa-aqo-inner{background:linear-gradient(135deg,#fff 0%,#fbf6f0 100%);border:1px solid rgba(206,156,134,.30);border-radius:24px;padding:clamp(28px,4vw,52px);position:relative;overflow:hidden;box-shadow:0 22px 60px -28px rgba(43,39,35,.22),0 6px 14px rgba(43,39,35,.06)}
.ocd .pa-aqo-inner::before{content:'';position:absolute;top:-80px;right:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(206,156,134,.18) 0%,rgba(206,156,134,0) 70%);pointer-events:none}
.ocd .pa-aqo-head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:clamp(20px,2.4vw,32px);position:relative;z-index:1}
.ocd .pa-aqo-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8a4f33;margin-bottom:16px;padding:7px 16px;background:#fff;border:1px solid rgba(206,156,134,.30);border-radius:999px;box-shadow:0 4px 10px -4px rgba(43,39,35,.10)}
.ocd .pa-aqo-eyebrow em{font-style:normal;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ocd .pa-aqo-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;background:#fdf8f1;border:1.5px solid #fff;box-shadow:0 2px 6px rgba(43,39,35,.14);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ocd .pa-aqo-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ocd .pa-aqo-hero{display:flex;align-items:center;gap:clamp(20px,3vw,36px);margin-bottom:8px}
.ocd .pa-aqo-hero-img{width:clamp(120px,14vw,180px);height:clamp(120px,14vw,180px);border-radius:50%;background:radial-gradient(circle,#fdf8f1 0%,#fbf0e6 100%);border:3px solid #fff;box-shadow:0 18px 40px -16px rgba(43,39,35,.30),0 0 0 4px rgba(206,156,134,.18);overflow:hidden;flex-shrink:0;display:flex;align-items:flex-end;justify-content:center;animation:pa-aqo-bob 5s ease-in-out infinite}
.ocd .pa-aqo-hero-img img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;display:block}
.ocd .pa-aqo-hero-text{flex:1}
@keyframes pa-aqo-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width:520px){.ocd .pa-aqo-hero{flex-direction:column;text-align:center;align-items:center}.ocd .pa-aqo-hero-img{width:140px;height:140px}}
.ocd .pa-aqo-h{font-size:clamp(24px,2.6vw,38px);font-weight:700;line-height:1.1;letter-spacing:-.022em;color:#2B2723;margin:0 0 6px;text-wrap:balance}
.ocd .pa-aqo-h em{font-style:italic;font-weight:400;color:#8a4f33}
.ocd .pa-aqo-sub{font-size:14px;line-height:1.5;color:#665b53;margin:0}

.ocd .pa-aqo-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;position:relative;z-index:1}
.ocd .pa-aqo-chip{appearance:none;font-family:inherit;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid rgba(206,156,134,.40);font-size:13px;font-weight:700;color:#2B2723;cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;letter-spacing:.005em;line-height:1.2}
.ocd .pa-aqo-chip:hover{background:#fdf8f1;border-color:#A86A4A;transform:translateY(-1px);box-shadow:0 8px 18px -10px rgba(43,39,35,.18)}
.ocd .pa-aqo-chip[aria-selected="true"]{background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;border-color:transparent;color:#fff;box-shadow:0 10px 22px -8px rgba(236,72,153,.42)}

/* HOOT AI typing bubble */
.ocd .pa-aqo-bubble{margin-top:8px;background:#fff;border:1px solid rgba(206,156,134,.30);border-radius:18px;padding:24px 28px;position:relative;z-index:1;min-height:120px;animation:msg-in .4s ease}
.ocd .pa-aqo-bubble[hidden]{display:none}
.ocd .pa-aqo-bubble-head{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:5px 14px 5px 5px;background:#2B2723;color:#fbf0e6;border-radius:999px}
.ocd .pa-aqo-bubble-orb{width:22px;height:22px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.ocd .pa-aqo-thinking{display:inline-flex;align-items:center;gap:6px;color:#665b53;font-size:14px;font-style:italic}
.ocd .pa-aqo-thinking-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);display:inline-block;animation:thinking-dots 1.4s infinite ease-in-out}
.ocd .pa-aqo-thinking-dot:nth-child(2){animation-delay:.16s}
.ocd .pa-aqo-thinking-dot:nth-child(3){animation-delay:.32s}
.ocd .pa-aqo-thinking-lbl{margin-left:4px}
.ocd .pa-aqo-answer{font-size:15.5px;line-height:1.6;color:#4A423C;min-height:1em}
.ocd .pa-aqo-answer strong{color:#2B2723;font-weight:700}
.ocd .pa-aqo-answer a{color:#A86A4A;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ocd .pa-aqo-answer a:hover{color:#8a4f33}
.ocd .pa-aqo-caret{display:inline-block;width:2px;height:1.1em;background:#2B2723;vertical-align:-2px;margin-left:2px;animation:type-caret 1s infinite step-end}
@keyframes thinking-dots{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}
@keyframes type-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}

@media (max-width:760px){
  .ocd .pa-aqo{padding:0 20px}
  .ocd .pa-aqo-inner{padding:24px 20px}
  .ocd .pa-aqo-h{font-size:24px}
}

/* Simplified 4-step process row inside Custom Training block */
.ocd .pa-process{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 6px;padding:0 4px;max-width:560px}
.ocd .pa-process-line{position:absolute;top:32px;left:0;right:0;width:100%;height:4px;pointer-events:none;animation:dash-flow-pa 22s linear infinite}
@keyframes dash-flow-pa{to{stroke-dashoffset:-200}}
.ocd .pa-process-line line{animation:dash-flow-pa 22s linear infinite}
.ocd .pa-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}
.ocd .pa-step-circle{width:68px;height:68px;border-radius:50%;border:3px solid #fff;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(43,39,35,.15),0 2px 4px rgba(43,39,35,.08);background:#fff}
.ocd .pa-step-circle img{width:100%;height:100%;object-fit:cover}
.ocd .pa-step-c1{background:linear-gradient(135deg,#7fb6c4,#5a96a8)}
.ocd .pa-step-c2{background:linear-gradient(135deg,#e6bb9c,#ce9c86)}
.ocd .pa-step-c3{background:linear-gradient(135deg,#7a8b6f,#5d6e54)}
.ocd .pa-step-c4{background:linear-gradient(135deg,#c08260,#a86a4a)}
.ocd .pa-step-label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-900)}

@media (max-width:560px){.ocd .pa-grid{grid-template-columns:1fr}.ocd .pa-library-btn{flex-direction:column;gap:6px;padding:14px 22px}.ocd .pa-library-meta{border-left:0;padding-left:0}}

/* ============================
   SECTION 5: LOGO MARQUEE — dark band with stat line + tilted marquee
============================ */
.ocd .oc-mq{background:#fff;padding:64px 0;position:relative}
/* Trust strip + marquee read as one continuous section — tighten the gap */
.ocd .oc-trust{padding-bottom:32px}
.ocd .oc-mq-final{background:#fff;padding:8px 0 64px;color:var(--ink-900);border:none}
.ocd .mq-final-wrap{max-width:980px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:minmax(360px,440px) 1fr;gap:36px;align-items:center}
.ocd .mq-stat-line{font-size:clamp(20px,2.1vw,26px);font-weight:700;color:var(--ink-900);line-height:1.25;letter-spacing:-.015em;text-wrap:balance}
.ocd .mq-stat-text strong{font-weight:700;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .mq-perspective-final{mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%)}
.ocd .mq-perspective-final .mq-track{gap:46px;padding:14px 24px}
.ocd .mq-perspective-final .mq-track img{height:32px;filter:grayscale(1);opacity:.55;transition:opacity .3s ease,filter .3s ease}
.ocd .mq-perspective-final .mq-track img:hover{filter:grayscale(0);opacity:1}
@media (max-width:880px){
  .ocd .mq-final-wrap{grid-template-columns:1fr;gap:24px;text-align:center}
}
.ocd .mq-head{text-align:center;margin-bottom:32px;padding:0 28px}
.ocd .mq-label{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500)}
.ocd .mq-label strong{color:var(--ink-900);font-weight:700}

/* Shared track keyframes */
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}

.ocd .mq-row{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%)}
.ocd .mq-track{display:flex;align-items:center;gap:60px;width:max-content;padding:14px 30px}
.ocd .mq-track-fwd{animation:mq-left 60s linear infinite}
.ocd .mq-track-rev{animation:mq-right 50s linear infinite}
.ocd .mq-track img{height:34px;width:auto;opacity:.50;filter:grayscale(1);transition:opacity .3s ease,filter .3s ease}
.ocd .mq-row:hover .mq-track,.ocd .mq-perspective:hover .mq-track{animation-play-state:paused}
.ocd .mq-track img:hover{opacity:.95;filter:grayscale(0)}

/* === Marquee A · Two-row criss-cross === */
.ocd .oc-mq-a .mq-row + .mq-row{margin-top:4px}

/* === Marquee B · Tilted perspective === */
.ocd .mq-perspective{perspective:900px;overflow:hidden;padding:24px 0;mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 80px,#000 calc(100% - 80px),transparent 100%)}
.ocd .mq-perspective .mq-track{transform:rotateX(22deg);transform-origin:center bottom}
.ocd .mq-perspective .mq-track img{height:46px}

/* === Marquee C · Industry-tagged === */
.ocd .mq-row-c .mq-track{gap:48px;padding:8px 30px 16px}
.ocd .mq-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.ocd .mq-logo-wrap{height:38px;display:flex;align-items:center}
.ocd .mq-item img{height:34px;width:auto;opacity:.55;filter:grayscale(1)}
.ocd .mq-tag{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);white-space:nowrap}
.ocd .mq-item:hover img{opacity:.95;filter:grayscale(0)}
.ocd .mq-item:hover .mq-tag{color:var(--ink-900)}

/* ============================
   SECTION 6: CUSTOM VS BOXED (white, 6-tile grid)
============================ */
.ocd .oc-vs{background:#fff;padding:96px 0 88px;color:var(--ink-900)}
.ocd .oc-vs-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.ocd .oc-vs-head{margin-bottom:56px;max-width:820px}
.ocd .oc-vs-h2{font-weight:700;font-size:clamp(34px,3.4vw,46px);line-height:1.1;letter-spacing:-.02em;color:var(--ink-900);margin:14px 0 14px;text-wrap:balance}
.ocd .oc-vs-shimmer{font-style:italic;font-weight:700;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding:.08em .12em .55em .06em;margin-bottom:-.45em;display:inline-block;line-height:1.6;vertical-align:baseline;overflow:visible}
.ocd .oc-vs-sub{font-size:16.5px;line-height:1.55;color:var(--ink-700);max-width:720px}
.ocd .oc-vs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
.ocd .oc-vs-tile{display:flex;flex-direction:column;gap:10px;padding:24px 22px;border-radius:14px;position:relative;transition:background .25s ease}
.ocd .oc-vs-tile:hover{background:var(--paper)}
.ocd .oc-vs-tile--required{background:#f4f3f1;border:1px solid var(--hd-line)}
.ocd .oc-vs-tile--required:hover{background:#efeeec}
.ocd .oc-vs-required-badge{position:absolute;top:16px;right:16px;background:var(--ink-900);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;border-radius:999px;box-shadow:0 4px 10px rgba(43,39,35,.25)}
.ocd .oc-vs-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.ocd .oc-vs-icon svg{width:100%;height:100%}
.ocd .oc-vs-title{font-size:18px;font-weight:700;color:var(--ink-900);letter-spacing:-.005em;margin-top:8px}
.ocd .oc-vs-body{font-size:14.5px;line-height:1.55;color:var(--ink-700)}
.ocd .oc-vs-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding-top:24px;border-top:1px solid var(--hd-line)}
.ocd .oc-vs-cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink-900);color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:14px 24px;border-radius:999px;text-decoration:none;transition:all .3s ease}
.ocd .oc-vs-cta:hover{background:#8a4f33;color:#fff;transform:translateY(-2px)}
.ocd .oc-vs-footnote{font-size:12px;font-style:italic;color:var(--ink-500)}
@media (max-width:880px){
  .ocd .oc-vs-grid{grid-template-columns:1fr 1fr;gap:36px 28px}
  .ocd .oc-vs-eyebrow{font-size:32px}
}
@media (max-width:560px){
  .ocd .oc-vs-grid{grid-template-columns:1fr}
  .ocd .oc-vs-foot{flex-direction:column;align-items:flex-start}
}

/* ============================
   SECTION 5b: GROUP SIZE SCALE — 1-on-1 to 400+
============================ */
.ocd .oc-scale{position:relative;padding:88px 40px 96px;color:var(--ink-900);background:radial-gradient(circle at 100% 0,rgba(127,182,196,.16) 0%,rgba(127,182,196,0) 55%),linear-gradient(135deg,#f5f6f8 0%,#ebedf1 50%,#dde1e7 100%)}
.ocd .oc-scale-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin:0 auto 48px;max-width:780px}
.ocd .oc-scale-h2{font-weight:700;font-size:clamp(32px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--ink-900);margin:14px 0 4px;text-wrap:balance}
.ocd .oc-scale-h2 em{font-style:italic;font-weight:400;color:var(--terra-700)}
.ocd .oc-scale-sub{font-size:16.5px;line-height:1.6;color:var(--ink-700);max-width:620px;margin:0}
.ocd .oc-scale-interactive{max-width:1020px;margin:0 auto}
.ocd .oc-scale-suffix{font-size:.6em;font-weight:700;letter-spacing:0;margin-left:1px}

/* Slider + ticks */
.ocd .oc-scale-slider-wrap{position:relative;padding:88px 0 56px;margin:0 12px 0}
.ocd .oc-scale-slider-wrap{--oc-r:0}
.ocd .oc-scale-bubble{position:absolute;top:6px;display:inline-flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);color:#fbf6f0;padding:8px 14px 9px;border-radius:14px;line-height:1;box-shadow:0 14px 28px -10px rgba(43,39,35,.55),0 4px 10px rgba(43,39,35,.25);min-width:72px;text-align:center;pointer-events:none;transition:left .12s linear;transform:translateX(-50%);font-variant-numeric:tabular-nums;left:calc(13px + (100% - 26px) * var(--oc-r));z-index:3}
.ocd .oc-scale-bubble::after{content:'';position:absolute;left:50%;bottom:-6px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #3a342f;transform:translateX(-50%)}
.ocd .oc-scale-bubble #ocScaleBubbleNum,.ocd .oc-scale-bubble span:first-child{font-size:22px;font-weight:700;letter-spacing:-.01em}
.ocd .oc-scale-bubble .bubble-label{font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,246,240,.6);margin-top:3px}

.ocd .oc-scale-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:linear-gradient(to right,var(--ink-900) 0 var(--oc-pct,0%),var(--cream-3) var(--oc-pct,0%) 100%);border-radius:999px;outline:none;cursor:grab;position:relative;z-index:2;margin:0}
.ocd .oc-scale-slider:active{cursor:grabbing}
.ocd .oc-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899,#a855f7);background-size:200% auto;border:3px solid #fff;box-shadow:0 8px 18px -4px rgba(236,72,153,.5),0 0 0 4px rgba(236,72,153,.15);cursor:grab;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-scale-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899,#a855f7);border:3px solid #fff;box-shadow:0 8px 18px -4px rgba(236,72,153,.5),0 0 0 4px rgba(236,72,153,.15);cursor:grab}

.ocd .oc-scale-ticks{position:absolute;left:13px;right:13px;top:calc(88px + 18px);height:auto;display:flex;justify-content:space-between;pointer-events:none}
.ocd .oc-scale-tick{position:relative;background:transparent;border:0;cursor:pointer;font-family:inherit;color:var(--ink-700);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:auto;padding:0}
.ocd .oc-scale-tick::before{content:'';width:2px;height:8px;background:var(--terra-600);opacity:.45;border-radius:999px;margin-bottom:6px}
.ocd .oc-scale-tick.is-active::before{background:#ec4899;opacity:1;height:10px;width:3px}
.ocd .oc-scale-tick .tick-num{font-size:13px;font-weight:700;letter-spacing:-.005em;color:var(--ink-700);transition:color .25s ease}
.ocd .oc-scale-tick.is-active .tick-num{color:var(--ink-900)}
.ocd .oc-scale-tick .tick-circle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#ffd66b 0%,#f97316 60%,#c08260 100%);background-size:200% auto;animation:ocd-gradient-shift 8s ease-in-out infinite;color:#fff;font-size:14px;font-weight:700;box-shadow:0 8px 16px -4px rgba(249,115,22,.45);margin-top:-12px;text-shadow:0 1px 2px rgba(138,79,51,.35)}
.ocd .oc-scale-tick-end .tick-num{font-size:13px;font-weight:700}

/* 100 tiny-face learner visualization — 40 cols × 3 rows. Row 1: 40, Row 2: 40, Row 3: 20 (right-aligned). Full slider width. */
.ocd .oc-scale-dots{display:grid;grid-template-columns:repeat(40,1fr);gap:4px;width:100%;padding:0 13px;margin:20px 0 32px 0}
.ocd .oc-scale-dot{width:100%;aspect-ratio:1;display:block;line-height:0;transition:transform .2s ease}
.ocd .oc-scale-dot svg{width:100%;height:100%;display:block}
.ocd .oc-scale-dot .face-head{fill:rgba(192,130,96,.22);transition:fill .2s ease}
.ocd .oc-scale-dot .face-eye{stroke:rgba(43,39,35,.35);transition:stroke .2s ease}
.ocd .oc-scale-dot .face-mouth{stroke:rgba(43,39,35,.35);transition:stroke .2s ease}
.ocd .oc-scale-dot.is-on .face-head{fill:#ec4899}
.ocd .oc-scale-dot.is-on .face-eye{stroke:#fff}
.ocd .oc-scale-dot.is-on .face-mouth{stroke:#fff}
.ocd .oc-scale-dot:nth-child(81){grid-column-start:21}

/* Display card */
.ocd .oc-scale-display{position:relative;background:#fff;border:1px solid var(--hd-line);border-radius:24px;box-shadow:0 22px 50px -22px rgba(43,39,35,.2),0 4px 12px rgba(43,39,35,.05);overflow:hidden;transition:box-shadow .35s ease}
.ocd .oc-scale-display.is-perk{box-shadow:0 30px 60px -22px rgba(236,72,153,.32),0 8px 18px rgba(168,85,247,.12)}
.ocd .oc-scale-display.is-perk::before{content:'';position:absolute;inset:-1.5px;border-radius:24px;padding:1.5px;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ocd .oc-scale-card{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;padding:32px 36px;align-items:center;position:relative}
.ocd .oc-scale-card-l{display:flex;flex-direction:column;gap:8px;position:relative}
.ocd .oc-scale-card-badge{display:none;align-self:flex-start;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 10px 22px -8px rgba(236,72,153,.5);margin-bottom:6px}
.ocd .oc-scale-display.is-perk .oc-scale-card-badge{display:inline-flex}
.ocd .oc-scale-card-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-scale-card-h{font-size:34px;font-weight:700;letter-spacing:-.015em;line-height:1.1;margin:4px 0 4px;color:var(--ink-900)}
.ocd .oc-scale-card-sub{font-size:14.5px;font-weight:700;color:#ec4899;margin:0;font-style:italic}
.ocd .oc-scale-card-body{font-size:14.5px;line-height:1.6;color:var(--ink-700);margin:6px 0 0}
.ocd .oc-scale-card-r{display:flex;flex-direction:column;gap:10px;padding-left:32px;border-left:1px solid var(--hd-line)}
.ocd .oc-scale-formats-lbl{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-scale-formats{display:flex;flex-wrap:wrap;gap:6px}
.ocd .oc-scale-format{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ink-800);background:var(--cream);border:1px solid var(--hd-line);padding:7px 12px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;transition:all .2s ease}
.ocd a.oc-scale-format{cursor:pointer}
.ocd a.oc-scale-format:hover{background:var(--ink-900);color:#fbf6f0;border-color:var(--ink-900);transform:translateY(-1px)}
.ocd .oc-scale-format-static{cursor:default}

/* Footer: slogan left, Service One Promise pill right */
.ocd .oc-scale-foot{max-width:920px;margin:48px auto 0;display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:stretch}
.ocd .oc-scale-foot-l{display:flex;flex-direction:column;gap:14px}
.ocd .oc-scale-foot-slogan{font-style:italic;font-weight:700;color:var(--ink-900);font-size:clamp(26px,3vw,42px);line-height:1.1;letter-spacing:-.022em;text-wrap:balance;margin:0}
.ocd .oc-scale-foot-slogan-pop{display:inline-block;font-style:italic;font-weight:700;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding-right:.12em;margin-right:-.06em}
.ocd .oc-scale-foot-body{font-size:clamp(14px,1.05vw,16px);color:var(--ink-700);margin:0;line-height:1.55;max-width:54ch}
.ocd .oc-scale-foot-body strong{color:#2B2723;font-weight:700}
.ocd .oc-scale-foot-stats{display:flex;gap:clamp(18px,2.4vw,32px);flex-wrap:wrap;margin-top:6px}
.ocd .oc-scale-foot-stat{padding-left:14px;border-left:2px solid rgba(206,156,134,.50)}
.ocd .oc-scale-foot-stat-num{font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1;letter-spacing:-.02em;color:#2B2723}
.ocd .oc-scale-foot-stat-pct{color:#ec4899}
.ocd .oc-scale-foot-stat-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#665b53;margin-top:6px}
.ocd .oc-scale-foot-cont{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(14px,1.6vw,22px);padding:14px 0 0;margin:6px 0 0;border-top:1px solid rgba(206,156,134,.22)}
.ocd .oc-scale-foot-cont-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2B2723}
.ocd .oc-scale-foot-cont-item{position:relative}
.ocd .oc-scale-foot-cont-icon{position:relative;width:26px;height:26px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 14px -6px rgba(236,72,153,.55);color:#fff;transition:transform .25s ease,box-shadow .25s ease}
.ocd .oc-scale-foot-cont-icon::before{content:'';position:absolute;inset:-3px;border-radius:50%;border:1.5px solid rgba(236,72,153,.45);animation:sc-cont-pulse 2.8s ease-out infinite;animation-delay:var(--d,0s);pointer-events:none}
.ocd .oc-scale-foot-cont-icon svg{width:14px;height:14px;display:block;color:#fff}
.ocd .oc-scale-foot-cont-item:hover .oc-scale-foot-cont-icon{transform:translateY(-2px) scale(1.08);box-shadow:0 10px 22px -6px rgba(236,72,153,.65)}
@keyframes sc-cont-pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
.ocd .oc-scale-foot-r{display:flex;justify-content:flex-end;align-items:stretch}

/* Service One Promise dark card */
.ocd .oc-scale-promise-card{background:#2B2723;color:#fbf0e6;border-radius:18px;padding:clamp(20px,2.4vw,28px);position:relative;overflow:hidden;width:100%;display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:0 22px 50px -22px rgba(43,39,35,.55),0 6px 14px rgba(43,39,35,.18)}
.ocd .oc-scale-promise-card::before{content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(230,195,80,.18) 0%,rgba(230,195,80,0) 70%);pointer-events:none}
.ocd .oc-scale-promise-card-head{display:flex;align-items:center;gap:10px;position:relative;z-index:1}
.ocd .oc-scale-promise-card-glyph{width:24px;height:24px;color:#e6c350;flex-shrink:0}
.ocd .oc-scale-promise-card-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#e6c350}
.ocd .oc-scale-promise-card-h{font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:-.015em;line-height:1.1;color:#fbf0e6;margin:0;position:relative;z-index:1}
.ocd .oc-scale-promise-card-h-pop{font-style:italic;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding:0 .06em}
.ocd .oc-scale-promise-card-body{font-size:13.5px;line-height:1.55;color:rgba(251,240,230,.85);margin:0;position:relative;z-index:1}
.ocd .oc-scale-promise-card-body strong{color:#fbf0e6;font-weight:700}
.ocd .oc-scale-promise-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;position:relative;z-index:1}
.ocd .oc-scale-promise-card-tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e6c350;background:rgba(230,195,80,.10);border:1px solid rgba(230,195,80,.30);padding:5px 10px;border-radius:999px}
.ocd .oc-scale-promise{position:relative;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);color:#fbf6f0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:12px 18px 12px 16px;border-radius:999px;cursor:help;box-shadow:0 14px 28px -10px rgba(43,39,35,.45);transition:transform .25s ease,box-shadow .25s ease;outline:none}
.ocd .oc-scale-promise:hover,.ocd .oc-scale-promise:focus{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(43,39,35,.55)}
.ocd .oc-scale-promise-glyph{width:18px;height:18px;color:#ffd66b;flex-shrink:0}
.ocd .oc-scale-promise-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(251,246,240,.18);color:#fbf6f0;font-size:11px;font-weight:700;letter-spacing:0;margin-left:2px}
.ocd .oc-scale-promise-tip{position:absolute;bottom:calc(100% + 12px);right:0;width:320px;background:#fbf6f0;color:var(--ink-800);padding:14px 16px;border-radius:14px;box-shadow:0 22px 44px -12px rgba(43,39,35,.35),0 8px 16px rgba(43,39,35,.15);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .3s cubic-bezier(.25,.7,.3,1);pointer-events:none;z-index:20}
.ocd .oc-scale-promise-tip::after{content:'';position:absolute;top:100%;right:24px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fbf6f0}
.ocd .oc-scale-promise-tip strong{display:block;color:var(--ink-900);font-weight:700;margin-bottom:4px;letter-spacing:-.005em;font-size:14px}
.ocd .oc-scale-promise:hover .oc-scale-promise-tip,.ocd .oc-scale-promise:focus .oc-scale-promise-tip{opacity:1;visibility:visible;transform:translateY(0)}

@media (max-width:880px){
  .ocd .oc-scale-card{grid-template-columns:1fr;gap:18px;padding:24px}
  .ocd .oc-scale-card-r{padding-left:0;border-left:0;border-top:1px solid var(--hd-line);padding-top:18px}
  .ocd .oc-scale-foot{grid-template-columns:1fr;text-align:center}
  .ocd .oc-scale-foot-r{justify-content:center}
  .ocd .oc-scale-foot-stats,.ocd .oc-scale-foot-cont{justify-content:center}
  .ocd .oc-scale-foot-body{margin-left:auto;margin-right:auto}
  .ocd .oc-scale-promise-tip{right:50%;transform:translateX(50%) translateY(6px);width:280px}
  .ocd .oc-scale-promise-tip::after{right:50%;transform:translateX(50%)}
  .ocd .oc-scale-promise:hover .oc-scale-promise-tip,.ocd .oc-scale-promise:focus .oc-scale-promise-tip{transform:translateX(50%) translateY(0)}
}
@media (max-width:560px){
  .ocd .oc-scale-tick .tick-num{font-size:11px}
  .ocd .oc-scale-tick .tick-circle{width:28px;height:28px;font-size:12px}
  .ocd .oc-scale-card-h{font-size:26px}
}

/* ============================
   SECTION 6b: CUSTOM VS BOXED — interactive "Build Your Win Stack"
============================ */
.ocd .cvb{max-width:1320px;margin:0 auto;padding:96px 40px;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:flex-start;background:#fff}
.ocd .cvb-head{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;margin-bottom:8px;text-align:center;align-items:center}
.ocd .cvb-h2{font-size:clamp(34px,3.4vw,46px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:14px 0 4px;text-wrap:balance;max-width:760px;color:var(--ink-900)}
.ocd .cvb-sub{font-size:16px;line-height:1.6;color:var(--ink-700);max-width:600px;margin:0 auto 8px}
.ocd .cvb-cards-wrap{display:flex;flex-direction:column;gap:18px;align-self:start}
.ocd .cvb-prompt{display:inline-flex;align-items:center;gap:14px;align-self:center;background:var(--cream-2);border:1.5px dashed var(--terra-600);border-radius:999px;padding:10px 22px;font-family:'Poppins',sans-serif;color:var(--terra-700);font-weight:700}
.ocd .cvb-prompt-arrow{width:22px;height:13px;color:var(--terra-700);animation:ocd-prompt-nudge 1.8s ease-in-out infinite}
@keyframes ocd-prompt-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.ocd .cvb-prompt-text{font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.ocd .cvb-prompt-hint{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--ink-500);font-style:italic}
.ocd .cvb-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ocd .cvb-card{position:relative;border:1.5px solid var(--hd-line);border-radius:18px;background:#fff;padding:18px 18px 16px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;display:flex;flex-direction:column;gap:6px;text-align:left;font-family:inherit;color:inherit;width:100%}
.ocd .cvb-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px -20px rgba(43,39,35,.22)}
.ocd .cvb-card.on{border-color:transparent;background:#fff;box-shadow:0 22px 44px -22px rgba(236,72,153,.32),0 6px 12px rgba(43,39,35,.06)}
.ocd .cvb-card.on::before{content:'';position:absolute;inset:-1.5px;border-radius:18px;padding:1.5px;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ocd .cvb-card .icon{width:34px;height:34px;color:var(--terra-700);transition:transform .35s cubic-bezier(.25,.7,.3,1)}
.ocd .cvb-card.on .icon{transform:scale(1.08) rotate(-6deg);color:#ec4899}
.ocd .cvb-card .icon svg{width:100%;height:100%}
.ocd .cvb-card .ttl{font-size:15px;font-weight:700;color:var(--ink-900);letter-spacing:-.005em;margin:6px 0 0}
.ocd .cvb-card .cvb-copy{font-size:13px;color:var(--ink-700);line-height:1.5;margin:0;text-transform:none;letter-spacing:0;font-weight:400}
.ocd .cvb-card .pts{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;background:var(--cream);color:var(--terra-700);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:5px 9px;border-radius:999px;transition:all .25s ease}
.ocd .cvb-card.on .pts{display:none}
.ocd .cvb-card .check{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899,#a855f7);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.4);transition:all .35s cubic-bezier(.34,1.56,.64,1)}
.ocd .cvb-card.on .check{opacity:1;transform:scale(1)}
.ocd .cvb-card .check svg{width:14px;height:14px;color:#fff}
.ocd .cvb-stack{position:sticky;top:24px;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);color:#fbf6f0;border-radius:24px;padding:28px 28px 24px;box-shadow:0 50px 100px -30px rgba(43,39,35,.5),0 18px 36px rgba(43,39,35,.18);overflow:hidden}
.ocd .cvb-stack::before{content:'';position:absolute;inset:-2px;border-radius:24px;padding:2px;background:linear-gradient(135deg,rgba(249,115,22,.35),rgba(236,72,153,.35),rgba(168,85,247,.35));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.5}
.ocd .cvb-stack-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(251,246,240,.55);margin-bottom:8px;display:block}
.ocd .cvb-stack-h{font-size:24px;font-weight:700;letter-spacing:-.015em;margin:0 0 16px;color:#fbf6f0}
.ocd .cvb-stack-score{position:relative;display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.ocd .cvb-stack-score .big{font-size:84px;font-weight:700;letter-spacing:-.04em;line-height:.95;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;font-variant-numeric:tabular-nums}
.ocd .cvb-stack-score .pct{font-size:30px;font-weight:700;color:rgba(251,246,240,.55)}
.ocd .cvb-stack-score .delta{position:absolute;right:0;top:0;display:inline-flex;align-items:center;background:rgba(255,255,255,.06);color:#fbf6f0;font-size:11px;font-weight:700;letter-spacing:.05em;padding:5px 10px;border-radius:999px;transform:translateY(-4px);opacity:0;transition:all .4s ease}
.ocd .cvb-stack-score .delta.show{opacity:1;transform:translateY(0)}
.ocd .cvb-stack-bar{height:10px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin-bottom:18px}
.ocd .cvb-stack-bar .fill{height:100%;width:0%;background:linear-gradient(90deg,#ffd66b,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;border-radius:999px;transition:width .55s cubic-bezier(.25,.7,.3,1)}
.ocd .cvb-tier{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);padding:10px 14px;border-radius:14px;margin-bottom:18px;border:1px solid rgba(255,255,255,.08)}
.ocd .cvb-tier-orb{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.06);transition:background .35s ease}
.ocd .cvb-tier-orb svg{width:20px;height:20px;color:#fbf6f0}
.ocd .cvb-tier-text{display:flex;flex-direction:column;gap:0;min-width:0}
.ocd .cvb-tier-lbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,246,240,.55)}
.ocd .cvb-tier-val{font-size:15px;font-weight:700;color:#fbf6f0;letter-spacing:-.005em}
.ocd .cvb-stack.tier-1 .cvb-tier-orb{background:rgba(255,255,255,.06)}
.ocd .cvb-stack.tier-2 .cvb-tier-orb{background:linear-gradient(135deg,#ffd66b,#f97316)}
.ocd .cvb-stack.tier-3 .cvb-tier-orb{background:linear-gradient(135deg,#f97316,#ec4899)}
.ocd .cvb-stack.tier-4 .cvb-tier-orb{background:linear-gradient(135deg,#ec4899,#a855f7)}
.ocd .cvb-stack.tier-5 .cvb-tier-orb{background:linear-gradient(120deg,#ffd66b,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 4s ease-in-out infinite}
.ocd .cvb-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.ocd .cvb-metric{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.ocd .cvb-metric .lbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,246,240,.5)}
.ocd .cvb-metric .val{font-size:18px;font-weight:700;color:#fbf6f0;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.ocd .cvb-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:700;color:rgba(251,246,240,.7);margin-bottom:18px}
.ocd .cvb-progress strong{color:#fbf6f0;font-weight:700}
.ocd .cvb-cta{display:flex;flex-direction:column;gap:8px}
.ocd .cvb-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(120deg,#ffd66b,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 22px;border-radius:999px;text-decoration:none;text-align:center;box-shadow:0 12px 26px -8px rgba(236,72,153,.5);transition:transform .3s ease}
.ocd .cvb-cta-btn:hover{transform:translateY(-2px)}
.ocd .cvb-cta-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fbf6f0;border:1.5px solid rgba(251,246,240,.3);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:12px 22px;border-radius:999px;text-decoration:none;text-align:center;transition:all .3s ease}
.ocd .cvb-cta-btn-ghost:hover{background:rgba(251,246,240,.08);border-color:rgba(251,246,240,.5);color:#fbf6f0;transform:translateY(-2px)}
.ocd .cvb-foot{font-size:11px;color:rgba(251,246,240,.5);text-align:center;margin:6px 0 0}
.ocd .cvb-stack.all-six::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(255,214,107,.3) 0%,transparent 40%),radial-gradient(circle at 80% 0%,rgba(236,72,153,.3) 0%,transparent 40%);pointer-events:none}
@media (max-width:880px){
  .ocd .cvb{grid-template-columns:1fr;padding:72px 24px}
  .ocd .cvb-cards{grid-template-columns:1fr 1fr}
  .ocd .cvb-stack{position:static}
}
@media (max-width:560px){
  .ocd .cvb-cards{grid-template-columns:1fr}
}

/* ============================
   SECTION 7: MYSTERY SHOPPING — full-bleed 30/40/30
============================ */
.ocd .oc-mss-bleed{background:var(--paper);padding:104px 0;color:var(--ink-900);position:relative;overflow:hidden}
.ocd .oc-mss-bleed .oc-mss-wrap{max-width:none;width:100%;margin:0;padding:0;display:grid;grid-template-columns:23% 54% 23%;gap:0;align-items:center}

/* Left + right graphics push partially off-screen */
.ocd .oc-mss-left{display:flex;justify-content:flex-end;align-items:flex-start;overflow:visible;will-change:transform,opacity}
.ocd .oc-mss-bleed .oc-mss-visual{will-change:transform,opacity}
.ocd .oc-mss-bleed .oc-mss-visual .oc-mss-pdf{transform-origin:top left}
.ocd .oc-mss-text{padding:0 80px;display:flex;flex-direction:column;gap:14px;will-change:transform,opacity}
.ocd .oc-mss-h2{font-weight:700;font-size:clamp(32px,3.2vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--ink-900);margin:14px 0 4px;text-wrap:balance}
.ocd .oc-mss-sub{font-size:16.5px;line-height:1.6;color:var(--ink-700);max-width:600px;margin-bottom:8px}
.ocd .oc-mss-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:8px}
.ocd .oc-mss-head .oc-mss-sub{margin-left:auto;margin-right:auto}
.ocd .oc-mss-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:14px 0 24px}
.ocd .oc-mss-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative;overflow:visible}
.ocd .oc-mss-tile .oc-mss-icon{margin:0 auto 6px}
.ocd .oc-mss-grid{overflow:visible}
.ocd .oc-mss-text{overflow:visible}
.ocd .has-curly-arrow,.ocd .has-curly-arrow-left{position:relative;overflow:visible}
.ocd .oc-mss-text{position:relative;z-index:10}
.ocd .has-curly-arrow .oc-mss-curly-arrow,.ocd .has-curly-arrow-left .oc-mss-curly-arrow{position:absolute;width:300px;height:120px;pointer-events:none;animation:ocd-curly-bob 3.5s ease-in-out infinite;z-index:30}
.ocd .has-curly-arrow .oc-mss-curly-arrow{right:-280px;top:28px}
.ocd .has-curly-arrow-left .oc-mss-curly-arrow{left:-280px;top:28px}
.ocd .has-curly-arrow .oc-mss-curly-arrow path,.ocd .has-curly-arrow-left .oc-mss-curly-arrow path{stroke-dasharray:6 5;animation:ocd-dash-flow 18s linear infinite}
.ocd .oc-mss-curly-badge{position:absolute;display:inline-block;font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:#fbf6f0;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);border:0;border-radius:14px;padding:11px 18px;line-height:1.22;text-align:center;white-space:normal;pointer-events:none;z-index:31;box-shadow:0 18px 32px -10px rgba(43,39,35,.55),0 6px 12px rgba(43,39,35,.28);overflow:hidden}
.ocd .oc-mss-curly-badge::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);background-size:220% 100%;background-position:-110% 0;animation:ocd-badge-shimmer 3.8s ease-in-out infinite;pointer-events:none}
@keyframes ocd-badge-shimmer{0%{background-position:-110% 0}55%{background-position:210% 0}100%{background-position:210% 0}}
.ocd .oc-mss-curly-badge-right{right:-336px;top:72px;transform:rotate(-3deg)}
.ocd .oc-mss-curly-badge-left{left:-336px;top:72px;transform:rotate(3deg)}
@keyframes ocd-curly-bob{0%,100%{transform:translateX(0) translateY(0)}50%{transform:translateX(6px) translateY(-2px)}}
@keyframes ocd-dash-flow{to{stroke-dashoffset:-200}}

/* Subbands */
.ocd .oc-mss-subband-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0 0;align-items:start}
.ocd .oc-mss-subband{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;padding:18px 22px;border:1px solid var(--hd-line);border-radius:18px;background:#fff;margin:0;box-shadow:0 18px 40px -25px rgba(43,39,35,.18)}
.ocd .oc-mss-subband-row .oc-mss-subband{margin:0}
.ocd .oc-mss-subband .subband-icon{width:46px;height:46px;border-radius:12px;background:var(--cream-2);color:var(--terra-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ocd .oc-mss-subband .subband-icon svg{width:24px;height:24px}
.ocd .oc-mss-subband .subband-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.ocd .oc-mss-subband .subband-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-mss-subband p{font-size:13.5px;line-height:1.55;color:var(--ink-700);margin:0}
.ocd .oc-mss-subband .subband-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ocd .oc-mss-subband .chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--ink-800);background:var(--cream);border:1px solid var(--hd-line);padding:5px 10px;border-radius:999px}
.ocd .oc-mss-subband .chip .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.ocd .oc-mss-subband .chip .dot-pink{background:#ec4899}
.ocd .oc-mss-subband .chip .dot-terra{background:var(--terra-500)}
.ocd .oc-mss-subband .chip .dot-green{background:#5d6f54}
.ocd .oc-mss-subband .chip-pop{padding:0 12px 0 0;overflow:hidden;background:var(--ink-900);color:var(--cream-2);border-color:var(--ink-900);gap:8px}
.ocd .oc-mss-subband .chip-pop .orb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);color:#fff;font-size:9.5px;font-weight:700}

/* Popular badge on Compete subband */
.ocd .has-popular{position:relative}
.ocd .popular-badge{position:absolute;top:-12px;right:18px;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 10px 22px -8px rgba(236,72,153,.5)}

/* HOOT subband — dark, full-bleed image left 1/4 */
.ocd .oc-mss-hoot{position:relative;display:grid;grid-template-columns:25% 1fr;gap:0;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);border-radius:18px;overflow:hidden;margin:14px 0 0;box-shadow:0 18px 40px -25px rgba(43,39,35,.4);min-height:200px}
.ocd .oc-mss-hoot .hoot-art{position:relative;overflow:hidden;display:flex;align-items:stretch;background:#1e1c1a}
.ocd .oc-mss-hoot .hoot-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.ocd .oc-mss-hoot .hoot-body{padding:22px 26px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.ocd .oc-mss-hoot .hoot-wordmark{font-family:'Poppins',sans-serif;font-weight:700;font-size:38px;letter-spacing:-.015em;display:inline-flex;align-items:center;gap:8px;line-height:1}
.ocd .oc-mss-hoot .hoot-h{background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-mss-hoot .hoot-ai{background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 22px rgba(236,72,153,.55);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-mss-hoot .hoot-slogan{font-size:17px;font-weight:700;color:#fbf6f0;margin:2px 0 4px;letter-spacing:-.005em}
.ocd .oc-mss-hoot .hoot-body-text{font-size:13.5px;line-height:1.55;color:#d8cfc6;margin:0}
.ocd .oc-mss-hoot .subband-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ocd .oc-mss-hoot .chip{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fbf6f0;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.ocd .oc-mss-hoot .chip .dot{width:8px;height:8px;border-radius:50%}
.ocd .oc-mss-hoot .chip-pop{padding:0 12px 0 0;background:#fbf6f0;color:#2b2723;border-color:transparent;gap:8px;overflow:hidden}
.ocd .oc-mss-hoot .chip-pop .orb{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);color:#fff;font-size:9.5px;font-weight:700}

/* Owlene phone graphic popping from bottom-left corner of left column */
.ocd .oc-mss-left{position:relative}

.ocd .oc-mss-icon{width:34px;height:34px;color:var(--terra-700);margin-bottom:4px}
.ocd .oc-mss-icon svg{width:100%;height:100%}
.ocd .oc-mss-tile-title{font-size:15px;font-weight:700;color:var(--ink-900);letter-spacing:-.005em}
.ocd .oc-mss-tile-body{font-size:13.5px;line-height:1.5;color:var(--ink-700)}
.ocd .oc-mss-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:32px}
.ocd .oc-mss-cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink-900);color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:15px 24px;border-radius:999px;text-decoration:none;transition:all .3s ease}
.ocd .oc-mss-cta:hover{background:#8a4f33;color:#fff;transform:translateY(-2px)}
.ocd .oc-mss-cta-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--ink-900);border:1.5px solid var(--ink-900);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:13.5px 24px;border-radius:999px;text-decoration:none;transition:all .3s ease}
.ocd .oc-mss-cta-outline:hover{background:var(--ink-900);color:#fff;transform:translateY(-2px)}
.ocd .oc-mss-visual{position:relative;display:flex;justify-content:flex-start;align-items:flex-start;overflow:visible;min-width:0}
.ocd .oc-mss-visual > img{width:100%;max-width:420px;display:block}
.ocd .oc-mss-score{position:absolute;right:-10px;bottom:60px;background:#fff;border:1px solid var(--hd-line);border-radius:14px;padding:14px 18px;box-shadow:0 18px 40px rgba(43,39,35,.18);width:220px;display:flex;flex-direction:column;gap:2px;animation:ocd-pill-float 5s ease-in-out infinite}

/* === PDF · Mystery Opportunity Call Report mock === */
.ocd .oc-mss-pdf{background:#fff;border-radius:14px;box-shadow:0 50px 120px -30px rgba(43,39,35,.45),0 20px 50px rgba(43,39,35,.22);overflow:hidden;color:var(--ink-900);width:820px;flex-shrink:0;max-width:none;font-family:'Poppins',sans-serif;font-size:13px;line-height:1.45}
.ocd .pdf-hero{background:#f9dccb;padding:26px 32px 22px}
.ocd .pdf-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ocd .pdf-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .pdf-oculus-logo{height:26px;width:auto;max-width:none}
.ocd .pdf-title{font-size:42px;font-weight:700;line-height:1.05;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink-900)}
.ocd .pdf-name-hl{background:linear-gradient(180deg,transparent 55%,#ffd66b 55%,#ffd66b 92%,transparent 92%);padding:0 4px;font-style:italic;font-weight:700}
.ocd .pdf-hotel{font-style:italic;font-weight:400;color:var(--terra-500)}
.ocd .pdf-subtitle{font-size:14px;color:var(--ink-700);margin:0 0 18px}
.ocd .pdf-info-bar{display:grid;grid-template-columns:1fr 1fr 1.2fr;background:#fff;border-radius:10px;padding:14px 18px;gap:14px}
.ocd .pdf-info-bar > div{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--hd-line);padding-left:14px}
.ocd .pdf-info-bar > div:first-child{border-left:none;padding-left:0}
.ocd .pdf-info-bar .lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .pdf-info-bar .val{font-size:14px;font-weight:700;color:var(--ink-900);margin-top:3px}

/* 3 score columns */
.ocd .pdf-scores{display:grid;grid-template-columns:1fr 1fr 1fr;padding:24px 32px;gap:26px}
.ocd .pdf-score{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--hd-line);padding-left:20px}
.ocd .pdf-score:first-child{border-left:none;padding-left:0}
.ocd .pdf-score .lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .pdf-score .big{font-size:42px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--ink-900)}
.ocd .pdf-score .big .pct{font-size:18px;font-weight:700;color:#ec4899;margin-left:2px}
.ocd .pdf-score .big-letter{display:inline-flex;align-items:flex-end;gap:8px}
.ocd .pdf-score .confident{font-size:13px;font-weight:400;font-style:italic;color:#ec4899;margin-bottom:6px}
.ocd .pdf-score .sub{font-size:11.5px;color:var(--ink-500);margin-top:2px}
.ocd .pdf-bar{position:relative;height:8px;background:#f6e4d3;border-radius:999px;margin-top:4px;overflow:hidden}
.ocd .pdf-bar .bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:999px}
.ocd .pdf-bar .bar-pink{background:#ec4899}
.ocd .pdf-bar .bar-dark{background:var(--ink-900)}
.ocd .pdf-bar .bar-terra{background:#c79a82}
.ocd .pdf-pct-marks{display:flex;justify-content:space-between;font-size:9.5px;font-weight:700;color:var(--ink-500);margin-top:10px;letter-spacing:.02em}
.ocd .pdf-pct-marks span:nth-child(2){margin-left:-4px}
.ocd .pdf-bar-rainbow{background:linear-gradient(90deg,#ef4444 0%,#f97316 22%,#fbbf24 42%,#a3e635 60%,#22c55e 80%,#06b6d4 100%);height:9px;overflow:visible}
.ocd .pdf-bar-grades{display:grid;grid-template-columns:repeat(6,1fr);font-size:10px;font-weight:700;color:var(--ink-700);margin-top:10px;margin-bottom:4px;letter-spacing:.06em;text-align:center}

/* Trending Down callout */
.ocd .pdf-trending{display:flex;align-items:center;gap:18px;background:#fce5dc;margin:0 32px 22px;padding:16px 20px;border-radius:10px;border-left:4px solid #ec4899}
.ocd .pdf-trending .trending-pill{display:inline-flex;align-items:center;background:#ec4899;color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px;flex-shrink:0}
.ocd .trending-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.ocd .trending-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .trending-body{font-size:13.5px;color:var(--ink-800);font-weight:700}
.ocd .trending-body em{font-style:normal;color:#ec4899;font-weight:700}

/* Head-to-head */
.ocd .pdf-h2h{padding:0 32px 22px}
.ocd .h2h-eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);margin:0 0 10px}
.ocd .h2h-card{display:grid;grid-template-columns:170px 1fr;gap:18px;border:1px solid var(--hd-line);border-radius:10px;overflow:hidden;background:#fff}
.ocd .h2h-img{background:#2b2723;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;min-height:200px;background-size:cover;background-position:center}
.ocd .h2h-img-fill{color:rgba(255,255,255,.55);font-size:13px;font-weight:700;letter-spacing:.04em;text-align:center;line-height:1.2;padding:0 8px}
.ocd .h2h-tag{position:absolute;bottom:10px;left:10px;background:rgba(43,39,35,.85);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.ocd .h2h-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;position:relative}
.ocd .h2h-them{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);margin:0}
.ocd .h2h-name{font-size:18px;font-weight:700;color:var(--ink-900);margin:0;letter-spacing:-.005em}
.ocd .h2h-combined{position:absolute;top:16px;right:18px;background:var(--cream-2);font-size:11px;font-weight:700;color:var(--ink-700);padding:5px 10px;border-radius:999px}
.ocd .h2h-stats{display:flex;gap:12px;margin-top:8px}
.ocd .h2h-stat{flex:1;background:var(--cream);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:4px}
.ocd .h2h-stat .lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .h2h-stat .row{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--ink-700)}
.ocd .h2h-stat .them{color:var(--ink-700)}
.ocd .h2h-stat .them-val{color:#ec4899;font-size:16px;font-weight:700;margin:0 5px 0 3px}
.ocd .h2h-stat .vs{color:var(--ink-500);font-size:10px;font-weight:700;text-transform:lowercase;margin:0 2px}
.ocd .h2h-stat .you{color:var(--ink-700)}
.ocd .h2h-stat .you-val{color:var(--ink-900);font-size:16px;font-weight:700;margin-left:3px}
.ocd .h2h-verdict{display:flex;align-items:center;gap:12px;background:#e7f1de;border-left:4px solid #5d6f54;padding:11px 14px;border-radius:8px;margin-top:10px}
.ocd .h2h-verdict .verdict-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#5d6f54}
.ocd .h2h-verdict p{font-size:11.5px;line-height:1.4;color:var(--ink-800);margin:0;flex:1}
.ocd .h2h-verdict .verdict-pill{background:#ec4899;color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0}

/* History cards */
.ocd .pdf-history{padding:0 32px 22px}
.ocd .history-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.ocd .history-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--hd-line);border-radius:12px;padding:14px 18px;background:#fff}
.ocd .history-card .lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .history-card .big{font-size:30px;font-weight:700;color:var(--ink-900);letter-spacing:-.015em;line-height:1}
.ocd .history-card .pdf-bar{margin-top:6px}

/* Trends chart */
.ocd .pdf-trends{padding:0 32px 22px}
.ocd .trends-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ocd .trends-legend{display:flex;gap:14px;font-size:10.5px;font-weight:700}
.ocd .trends-legend .legend-measure{color:#ec4899}
.ocd .trends-legend .legend-personal{color:#c08260}
.ocd .trends-legend .legend-encourage{color:#5d6f54}
.ocd .trends-chart{background:#fce8db;border-radius:10px;padding:14px 12px 8px}
.ocd .trends-chart svg{width:100%;height:auto;display:block}

/* Footer */
.ocd .pdf-foot{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 32px;background:#fff;border-top:1px solid var(--hd-line);gap:18px}
.ocd .pdf-foot-l{font-size:11.5px;color:var(--ink-700);font-weight:700;flex:1}
.ocd .pdf-url,.ocd .pdf-phone{color:var(--terra-700);font-weight:700}
.ocd .pdf-foot-text{font-size:9px;line-height:1.4;color:var(--ink-500);margin:5px 0 0;font-weight:400;max-width:380px}
.ocd .pdf-foot-r{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.ocd .pdf-recap-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700)}
.ocd .pdf-recap-meta{font-size:12px;font-weight:700;color:var(--ink-800)}
.ocd .pdf-recap-date{font-size:10.5px;color:var(--ink-500)}
.ocd .pdf-foot-mon{width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--ink-900);display:inline-flex;align-items:center;justify-content:center;margin-left:10px;flex-shrink:0;border:2px solid var(--cream-2)}
.ocd .pdf-foot-mon img{width:100%;height:100%;object-fit:cover}
@keyframes ocd-pill-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ocd .oc-mss-score-label{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-mss-score-val{font-size:42px;font-weight:700;line-height:1;letter-spacing:-.02em;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;margin:2px 0}
.ocd .oc-mss-score-meta{font-size:11.5px;line-height:1.45;color:var(--ink-500)}

/* === LEFT EMAIL PLATFORM WINDOW (inbox list + opened coaching email) === */
.ocd .oc-mss-left{overflow:visible}
.ocd .oc-mss-platform{background:var(--paper);border-radius:18px;overflow:hidden;box-shadow:0 50px 120px -30px rgba(43,39,35,.45),0 20px 50px rgba(43,39,35,.25);color:var(--ink-900);width:720px;max-width:none;flex-shrink:0}
.ocd .oc-mss-pf-head{display:flex;align-items:center;gap:14px;padding:13px 18px;background:var(--cream-2);border-bottom:1px solid rgba(43,39,35,.08)}
.ocd .oc-mss-pf-head .dots{display:inline-flex;gap:6px}
.ocd .oc-mss-pf-head .dots i{width:10px;height:10px;border-radius:50%;background:rgba(43,39,35,.18);display:inline-block}
.ocd .oc-mss-pf-head .dots i:first-child{background:#ce9c86}
.ocd .oc-mss-pf-head .dots i:nth-child(2){background:#e6bb9c}
.ocd .oc-mss-pf-head .dots i:nth-child(3){background:#f6e4d3}
.ocd .oc-mss-pf-head .title{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-900)}
.ocd .oc-mss-pf-body{display:grid;grid-template-columns:200px 1fr;min-height:520px;background:#fff}

/* Inbox list — narrower, mostly off-screen */
.ocd .oc-mss-pf-inbox{background:var(--cream);border-right:1px solid rgba(43,39,35,.08);padding:10px 0;overflow:hidden}
.ocd .oc-mss-pf-inbox .pf-row{display:grid;grid-template-columns:30px 1fr auto;gap:9px;padding:9px 12px;align-items:flex-start;border-left:3px solid transparent;font-size:11.5px}
.ocd .oc-mss-pf-inbox .pf-row.active{background:rgba(206,156,134,.18);border-left-color:var(--terra-600)}
.ocd .oc-mss-pf-inbox .pf-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;background:var(--ink-700);flex-shrink:0}
.ocd .oc-mss-pf-inbox .pf-av-pop{background:linear-gradient(135deg,#ec4899,#a855f7)}
.ocd .oc-mss-pf-inbox .pf-meta{min-width:0;overflow:hidden}
.ocd .oc-mss-pf-inbox .pf-from{font-size:11.5px;font-weight:700;color:var(--ink-900);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-mss-pf-inbox .pf-subject{font-size:11px;color:var(--terra-700);font-weight:700;margin-top:1px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-mss-pf-inbox .pf-preview{font-size:10.5px;color:var(--ink-500);margin-top:1px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ocd .oc-mss-pf-inbox .pf-time{font-size:10px;color:var(--ink-500);font-weight:700;white-space:nowrap;align-self:flex-start;padding-top:3px}

/* Opened email pane — the coaching mock */
.ocd .oc-mss-pf-mail{background:#fff;padding:18px 20px 20px;overflow:hidden}
.ocd .oc-mss-pf-mail .oc-email-mock{border-radius:10px;box-shadow:none;border:1px solid rgba(43,39,35,.08);max-width:none;margin:0}

/* === EMAIL MOCK (used inside the platform's mail pane) === */
.ocd .oc-email-mock{background:#fff;border-radius:18px;box-shadow:0 40px 90px -28px rgba(43,39,35,.35),0 12px 30px rgba(43,39,35,.18);overflow:hidden;color:var(--ink-900);max-width:560px;margin:0 auto;font-family:'Poppins',sans-serif}
.ocd .oc-email-stripe{height:6px;background:linear-gradient(90deg,#f97316,#ec4899)}
.ocd .oc-email-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid rgba(43,39,35,.08);background:var(--paper)}
.ocd .oc-email-logo{display:inline-flex;align-items:center;gap:8px}
.ocd .oc-email-logo img{height:24px;width:auto;display:block}
.ocd .oc-email-meta{font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--ink-500)}
.ocd .oc-email-body{padding:22px 28px 26px;display:flex;flex-direction:column;gap:12px}
.ocd .oc-email-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.ocd .oc-email-badge{display:inline-flex;align-items:center;gap:6px;background:#fbe4d6;color:#a8421a;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:6px 12px;border-radius:999px}
.ocd .oc-email-owlene{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--cream-2);box-shadow:0 4px 10px rgba(43,39,35,.15);background:var(--cream);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ocd .oc-email-owlene img{width:100%;height:100%;object-fit:cover;display:block}
.ocd .oc-email-h1{font-size:28px;font-weight:700;line-height:1.05;letter-spacing:-.015em;color:var(--ink-900);margin:0}
.ocd .oc-email-h1 em{font-style:normal;color:#ec4899;display:block}
.ocd .oc-email-greet{margin:0;font-size:14.5px}
.ocd .oc-email-text{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-700)}
.ocd .oc-email-score{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;background:var(--paper);border:1px solid rgba(43,39,35,.08);border-radius:10px;overflow:hidden;margin:6px 0 4px}
.ocd .oc-email-score-cell{padding:12px 14px;text-align:center;border-right:1px solid rgba(43,39,35,.08);display:flex;flex-direction:column;align-items:center;gap:2px}
.ocd .oc-email-score-cell:last-child{border-right:none}
.ocd .oc-email-score-cell .lbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-500)}
.ocd .oc-email-score-cell .val{font-size:36px;font-weight:700;color:var(--ink-900);letter-spacing:-.02em;line-height:1.1}
.ocd .oc-email-score-cell .val .frac{font-size:14px;font-weight:700;color:#ec4899;letter-spacing:0}
.ocd .oc-email-score-sm .val{font-size:20px}
.ocd .oc-email-section-lbl{margin:6px 0 0;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500)}
.ocd .oc-email-focus-item{display:flex;align-items:center;gap:10px;background:var(--paper);padding:11px 14px;border-radius:8px;border:1px solid rgba(43,39,35,.06);font-size:13.5px;font-weight:700;color:var(--ink-900)}
.ocd .oc-email-focus-item .arrow{color:#ec4899;font-weight:700}

/* === SCROLL-DRIVEN REVEAL (modern CSS animation-timeline, falls back to static) === */
.ocd .oc-mss-reveal-l{opacity:0;transform:translateX(-12%);transition:opacity 1s cubic-bezier(.25,.7,.3,1),transform 1s cubic-bezier(.25,.7,.3,1)}
.ocd .oc-mss-reveal-c{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.25,.7,.3,1) .12s,transform 1s cubic-bezier(.25,.7,.3,1) .12s}
.ocd .oc-mss-reveal-r{opacity:0;transform:translateX(12%);transition:opacity 1s cubic-bezier(.25,.7,.3,1) .24s,transform 1s cubic-bezier(.25,.7,.3,1) .24s}
.ocd .oc-mss-bleed.is-revealed .oc-mss-reveal-l,.ocd .oc-mss-bleed.is-revealed .oc-mss-reveal-c,.ocd .oc-mss-bleed.is-revealed .oc-mss-reveal-r{opacity:1;transform:none}

/* Cascading inside the email pane:
   Stage 1 (stripe + header)   — entry  5% → 22%
   Stage 2 (badge, h1, greeting, intro) — entry 18% → 38%
   Stage 3 (score, summary, coaching items) — entry 32% → 55%
   Default visible state: software shell only (window head + inbox) */
/* Scroll-driven cascade — JS-driven, bi-directional.
   The section gets stage classes added/removed by a scroll listener that tracks how far the section has progressed through the viewport. */
.ocd .scroll-in-1,.ocd .scroll-in-2,.ocd .scroll-in-3,.ocd .scroll-in-4,.ocd .scroll-in-5,.ocd .scroll-in-6{opacity:0;transform:translateY(24px);transition:opacity 1.1s cubic-bezier(.25,.7,.3,1),transform 1.1s cubic-bezier(.25,.7,.3,1)}
.ocd .pdf-info-bar{opacity:0;transform:translateX(60px);transition:opacity 1.2s cubic-bezier(.25,.7,.3,1),transform 1.2s cubic-bezier(.25,.7,.3,1)}

.ocd .oc-mss-bleed.is-s1 .scroll-in-1{opacity:1;transform:none}
.ocd .oc-mss-bleed.is-s2 .scroll-in-2{opacity:1;transform:none}
.ocd .oc-mss-bleed.is-s2 .pdf-info-bar{opacity:1;transform:translateX(0)}
.ocd .oc-mss-bleed.is-s3 .scroll-in-3{opacity:1;transform:none}
.ocd .oc-mss-bleed.is-s4 .scroll-in-4{opacity:1;transform:none}
.ocd .oc-mss-bleed.is-s5 .scroll-in-5{opacity:1;transform:none}
.ocd .oc-mss-bleed.is-s6 .scroll-in-6{opacity:1;transform:none}

/* Bar fills — scrub directly with progress vars (JS sets these) */
.ocd .bar-fill-skills{width:calc(70% * var(--oc-skills-p, 0));transition:width .3s ease-out}
.ocd .bar-fill-combined{width:calc(80% * var(--oc-combined-p, 0));transition:width .3s ease-out}
/* Counter numbers — JS writes textContent directly into .pdf-num */
.ocd .pdf-num{font-variant-numeric:tabular-nums}
@media (max-width:1180px){
  .ocd .oc-mss-bleed .oc-mss-wrap{grid-template-columns:18% 64% 18%}
  .ocd .oc-mss-text{padding:0 40px}
}
@media (max-width:980px){
  .ocd .oc-mss-bleed .oc-mss-wrap{grid-template-columns:1fr;gap:48px;padding:0 28px}
  .ocd .oc-mss-left,.ocd .oc-mss-bleed .oc-mss-visual{transform:none;justify-content:flex-start}
  .ocd .oc-mss-bleed .oc-mss-visual{order:-1}
  .ocd .oc-mss-text{padding:0}
  .ocd .oc-mss-grid{grid-template-columns:1fr 1fr}
  @keyframes oc-mss-in-l{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
  @keyframes oc-mss-in-r{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
}
@media (max-width:560px){
  .ocd .oc-mss-grid{grid-template-columns:1fr}
  .ocd .oc-mss-score{right:0;width:190px}
}

/* ============================
   SECTION 8: E-LEARNING — custom video library
============================ */
.ocd .oc-elearning{background:#fff;padding:96px 40px}
.ocd .oc-el-wrap{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.ocd .oc-el-text{display:flex;flex-direction:column;gap:14px}
.ocd .oc-el-h2{font-weight:700;font-size:clamp(32px,3.2vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--ink-900);margin:10px 0 4px;text-wrap:balance}
.ocd .oc-el-body{font-size:16px;line-height:1.6;color:var(--ink-700);margin:0;max-width:540px}
.ocd .oc-el-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ocd .oc-el-chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink-800);background:var(--cream);border:1px solid var(--hd-line);padding:7px 12px;border-radius:999px}
.ocd .oc-el-chip .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.ocd .oc-el-chip .dot-pink{background:#ec4899}
.ocd .oc-el-chip .dot-terra{background:var(--terra-500)}
.ocd .oc-el-chip .dot-green{background:#5d6f54}
.ocd .oc-el-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.ocd .oc-el-cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink-900);color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:15px 24px;border-radius:999px;text-decoration:none;transition:all .3s ease}
.ocd .oc-el-cta:hover{background:#8a4f33;color:#fff;transform:translateY(-2px)}

/* === Course-player mockup === */
.ocd .oc-el-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:480px;padding:32px 24px}
.ocd .oc-el-mock{position:relative;z-index:2;width:100%;max-width:560px;background:#fff;border-radius:18px;box-shadow:0 50px 100px -28px rgba(43,39,35,.35),0 16px 32px rgba(43,39,35,.12);overflow:hidden;font-family:'Poppins',sans-serif}
.ocd .oc-el-mock-head{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--cream-2);border-bottom:1px solid rgba(43,39,35,.06)}
.ocd .oc-el-mock-head .dots{display:inline-flex;gap:6px}
.ocd .oc-el-mock-head .dots i{width:10px;height:10px;border-radius:50%;background:rgba(43,39,35,.18);display:inline-block}
.ocd .oc-el-mock-head .dots i:first-child{background:#ce9c86}
.ocd .oc-el-mock-head .dots i:nth-child(2){background:#e6bb9c}
.ocd .oc-el-mock-head .dots i:nth-child(3){background:#f6e4d3}
.ocd .oc-el-mock-head .url{font-size:11px;font-weight:700;color:var(--ink-500);letter-spacing:.02em;background:#fff;padding:5px 12px;border-radius:8px;border:1px solid rgba(43,39,35,.05);flex:1}

.ocd .oc-el-mock-video{position:relative;aspect-ratio:16/9;background:#2b2723;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}
.ocd .oc-el-mock-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ocd .oc-el-mock-video::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%);pointer-events:none}
.ocd .oc-el-mock-video:hover .oc-el-mock-play{transform:scale(1.08)}
.ocd .oc-el-mock-video:focus-visible{outline:3px solid #ec4899;outline-offset:3px}
.ocd .oc-el-mock-play{position:relative;z-index:2;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 18px 36px -6px rgba(236,72,153,.55),0 0 0 4px rgba(236,72,153,.18);transition:transform .3s cubic-bezier(.25,.7,.3,1)}
.ocd .oc-el-mock-play svg{width:28px;height:28px;margin-left:4px}
.ocd .oc-el-mock-cc{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#fbf6f0;background:rgba(0,0,0,.4);padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.16)}
.ocd .oc-el-mock-vbar{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:12px}
.ocd .oc-el-mock-vbar .time{font-size:11px;font-weight:700;color:rgba(251,246,240,.85);font-variant-numeric:tabular-nums;flex-shrink:0}
.ocd .oc-el-mock-vbar .prog{flex:1;height:4px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden}
.ocd .oc-el-mock-vbar .prog .fill{height:100%;width:33%;background:linear-gradient(90deg,#f97316,#ec4899);border-radius:999px}

.ocd .oc-el-mock-meta{padding:18px 22px 14px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid rgba(43,39,35,.06)}
.ocd .oc-el-mock-mod{font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-el-mock-title{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink-900);margin:0;line-height:1.15}
.ocd .oc-el-mock-dots{display:flex;gap:6px;margin-top:6px}
.ocd .oc-el-mock-dots .dot{width:18px;height:5px;border-radius:999px;background:rgba(43,39,35,.12)}
.ocd .oc-el-mock-dots .dot.done{background:var(--terra-500)}
.ocd .oc-el-mock-dots .dot.active{background:linear-gradient(90deg,#f97316,#ec4899);box-shadow:0 2px 6px -2px rgba(236,72,153,.5)}
.ocd .oc-el-mock-sub{font-size:12px;color:var(--ink-500);margin-top:4px;font-weight:700}

.ocd .oc-el-mock-quiz{display:flex;align-items:center;gap:14px;padding:14px 22px;background:var(--cream)}
.ocd .oc-el-mock-quiz .quiz-icon{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--hd-line);display:flex;align-items:center;justify-content:center;color:var(--terra-700);flex-shrink:0}
.ocd .oc-el-mock-quiz .quiz-icon svg{width:18px;height:18px}
.ocd .oc-el-mock-quiz .quiz-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.ocd .oc-el-mock-quiz .quiz-lbl{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-700)}
.ocd .oc-el-mock-quiz .quiz-name{font-size:13px;font-weight:700;color:var(--ink-900);letter-spacing:-.005em}
.ocd .oc-el-mock-quiz .quiz-meta{font-size:11px;font-weight:700;color:var(--ink-500);letter-spacing:.02em;flex-shrink:0}

/* Script-paper graphic peeking up a little from the top of the player */
.ocd .oc-el-script{position:absolute;top:-32px;left:50%;width:280px;background:#f9f4ec;border:1px solid rgba(43,39,35,.1);border-radius:6px;padding:22px 20px 20px;transform:translateX(-78%) rotate(-7deg);box-shadow:0 22px 44px -10px rgba(43,39,35,.3),0 8px 16px rgba(43,39,35,.1);z-index:1;pointer-events:none}
.ocd .oc-el-script::before{content:'';position:absolute;top:10px;left:10px;right:10px;height:7px;background:linear-gradient(90deg,var(--terra-700) 0 32%,transparent 32%);border-radius:2px}
.ocd .oc-el-script .scene-label{display:inline-block;background:rgba(192,130,96,.25);color:var(--terra-700);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-radius:3px;margin:10px 0 8px}
.ocd .oc-el-script .line{display:block;height:4px;background:rgba(43,39,35,.18);border-radius:2px;margin:6px 0}
.ocd .oc-el-script .line.w-30{width:30%;background:rgba(43,39,35,.32);height:6px}
.ocd .oc-el-script .line.w-50{width:50%}
.ocd .oc-el-script .line.w-65{width:65%}
.ocd .oc-el-script .line.w-80{width:80%}
.ocd .oc-el-script .line.w-90{width:90%}
.ocd .oc-el-script .line.w-95{width:95%}

/* ON-SET badge with flashing red rec-dot floats bottom-right of the player */
.ocd .oc-el-chair{position:absolute;bottom:-14px;right:-22px;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--hd-line);padding:9px 16px 9px 12px;border-radius:999px;box-shadow:0 16px 32px -6px rgba(43,39,35,.3),0 6px 14px rgba(43,39,35,.12);color:var(--ink-800);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;z-index:5;transform:rotate(-3deg);animation:ocd-pill-float 4.5s ease-in-out infinite}
.ocd .oc-el-chair svg{width:22px;height:22px;color:var(--terra-700)}
.ocd .oc-el-chair .rec-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#dc2626;animation:ocd-rec-flash 1.2s ease-in-out infinite;flex-shrink:0}
@keyframes ocd-rec-flash{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,.55)}50%{opacity:.45;box-shadow:0 0 0 6px rgba(220,38,38,0)}}

/* === Video popup modal === */
/* ===== Comparison modal: off-the-shelf vs Oculus Custom ===== */
.ocd .oc-vs-modal{position:fixed;inset:0;background:rgba(43,39,35,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;padding:40px 24px;z-index:99998;overflow-y:auto}
.ocd .oc-vs-modal.is-open{display:flex}
.ocd .oc-vs-frame{position:relative;width:100%;max-width:1080px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 50px 120px rgba(0,0,0,.55);max-height:92vh;display:flex;flex-direction:column}
.ocd .oc-vs-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid rgba(206,156,134,.30);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#2B2723;box-shadow:0 8px 18px -6px rgba(43,39,35,.25);font-size:22px;font-weight:700;line-height:0;padding:0;z-index:10;transition:background .2s ease,transform .2s ease}
.ocd .oc-vs-close:hover{background:#fdf8f1;transform:scale(1.06)}
.ocd .oc-vs-modal .oc-vs-head{padding:clamp(28px,3.5vw,44px) clamp(24px,3vw,40px) clamp(14px,1.8vw,22px);text-align:center;background:linear-gradient(135deg,#fff 0%,#fbf6f0 100%);border-bottom:1px solid rgba(206,156,134,.22);max-width:none;margin-bottom:0;width:100%}
.ocd .oc-vs-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8a4f33;margin-bottom:12px}
.ocd .oc-vs-bar{width:28px;height:1.5px;background:#c08260;display:inline-block}
.ocd .oc-vs-h2{font-size:clamp(26px,3.4vw,42px);font-weight:700;letter-spacing:-.025em;line-height:1.06;color:#2B2723;margin:0 0 10px;text-wrap:balance}
.ocd .oc-vs-h2-pop{display:inline-block;font-style:italic;font-weight:700;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding:0 .08em;margin:0 .02em}
.ocd .oc-vs-sub{font-size:14px;line-height:1.5;color:#665b53;margin:0;max-width:54ch;margin-left:auto;margin-right:auto}
.ocd .oc-vs-table{overflow-y:auto;padding:0 clamp(20px,2.5vw,32px) 8px;flex:1}
.ocd .oc-vs-thead{display:grid;grid-template-columns:180px 1fr 1.1fr;gap:16px;padding:12px 0 8px;border-bottom:1px solid rgba(206,156,134,.22);position:sticky;top:0;background:#fff;z-index:2}
.ocd .oc-vs-th{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:0 16px}
.ocd .oc-vs-th-otb{color:#807268}
.ocd .oc-vs-th-ocs{color:#8a4f33}
.ocd .oc-vs-row{display:grid;grid-template-columns:180px 1fr 1.1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(206,156,134,.14);align-items:center}
.ocd .oc-vs-row:last-child{border-bottom:0}
.ocd .oc-vs-cat{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2B2723;line-height:1.25}
.ocd .oc-vs-cell{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:14px;font-size:14px;line-height:1.5;min-height:64px}
.ocd .oc-vs-cell-otb{background:#f3efee;color:#665b53;border:1px solid rgba(43,39,35,.06)}
.ocd .oc-vs-cell-ocs{background:#2B2723;color:#fbf0e6}
.ocd .oc-vs-cell-ocs strong{color:#fbf0e6;font-weight:700}
.ocd .oc-vs-cell-ocs a{color:#e6c350;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ocd .oc-vs-cell-ocs a:hover{color:#fff}
.ocd .oc-vs-cell-icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.ocd .oc-vs-cell-icon-x{background:rgba(165,85,85,.14);color:#a55}
.ocd .oc-vs-cell-icon-check{background:rgba(230,195,80,.16);color:#e6c350}
.ocd .oc-vs-cell-icon svg{width:14px;height:14px}
.ocd .oc-vs-cell-text{flex:1}
.ocd .oc-vs-foot{padding:18px clamp(24px,3vw,40px) clamp(22px,2.6vw,30px);background:#fbf6f0;border-top:1px solid rgba(206,156,134,.22);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ocd .oc-vs-foot-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;background:linear-gradient(120deg,#ffd66b,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 26px -8px rgba(236,72,153,.5);transition:transform .3s ease}
.ocd .oc-vs-foot-cta:hover{transform:translateY(-2px)}
.ocd .oc-vs-foot-line{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#807268}
@media (max-width:760px){
  .ocd .oc-vs-thead{display:none}
  .ocd .oc-vs-row{grid-template-columns:1fr;gap:8px;padding:18px 0;border-bottom:1px solid rgba(206,156,134,.22)}
  .ocd .oc-vs-cat{font-size:11.5px;color:#8a4f33;margin-bottom:4px}
  .ocd .oc-vs-cell-otb::before{content:'Off-the-shelf';display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#807268;margin-bottom:6px;width:100%}
  .ocd .oc-vs-cell-ocs::before{content:'Oculus Custom';display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e6c350;margin-bottom:6px;width:100%}
  .ocd .oc-vs-cell{flex-wrap:wrap}
}

/* "See the head-to-head" link inside CVB stack */
.ocd .cvb-cta-vs{appearance:none;font-family:inherit;background:transparent;border:0;padding:8px 0;color:#fbf6f0;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:color .25s ease,transform .25s ease;margin-top:6px}
.ocd .cvb-cta-vs:hover{color:#e6c350;transform:translateY(-1px)}
.ocd .cvb-cta-vs-icon{display:inline-flex;align-items:center;justify-content:center;color:#e6c350;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(230,195,80,.35));transition:transform .35s ease,color .25s ease}
.ocd .cvb-cta-vs-icon svg{width:22px;height:22px;display:block}
.ocd .cvb-cta-vs:hover .cvb-cta-vs-icon{transform:translateX(-1px)}
.ocd .cvb-cta-vs:hover .cvb-cta-vs-icon svg{animation:cvb-vs-swap .6s ease-in-out}
@keyframes cvb-vs-swap{0%{transform:translateX(0)}50%{transform:translateX(2px)}100%{transform:translateX(0)}}

/* Vimeo popup modal — simple display toggle (more reliable than opacity transition) */
.vid-modal{display:none;position:fixed;inset:0;z-index:2147483647;background:rgba(16,12,10,.92);align-items:center;justify-content:center}
.vid-modal.open{display:flex}
.vid-modal-bg{position:absolute;inset:0;cursor:pointer}
.vid-modal-inner{position:relative;z-index:1;width:min(920px,92vw);background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.vid-modal-player{aspect-ratio:16/9;width:100%}
.vid-modal-player iframe{width:100%;height:100%;display:block;border:0}
.vid-modal-close{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.6);border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.vid-modal-close:hover{background:rgba(0,0,0,.85);transform:scale(1.06)}

@media (max-width:980px){
  .ocd .oc-el-wrap{grid-template-columns:1fr;gap:48px}
  .ocd .oc-el-visual{order:-1;min-height:auto;padding:48px 24px 32px}
  .ocd .oc-el-script{top:-28px;left:30%;width:240px}
  .ocd .oc-el-chair{bottom:-14px;right:8px}
}
@media (max-width:560px){
  .ocd .oc-elearning{padding:64px 24px}
  .ocd .oc-el-mock-play{width:56px;height:56px}
  .ocd .oc-el-mock-play svg{width:22px;height:22px}
  .ocd .oc-el-mock-title{font-size:18px}
  .ocd .oc-el-script{display:none}
  .ocd .oc-el-chair{font-size:9px;padding:6px 12px 6px 10px}
  .ocd .oc-el-chair svg{width:16px;height:16px}
  .ocd .oc-el-chair .rec-dot{width:8px;height:8px}
}

/* ============================
   SECTION 9: REVIEWS / SOCIAL PROOF — editorial layout
============================ */
.ocd .oc-reviews{background:var(--paper);padding:96px 40px;color:var(--ink-900)}
.ocd .oc-rv-wrap{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:48px;align-items:center}
.ocd .oc-rv-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:820px}
.ocd .oc-rv-h2{font-weight:700;font-size:clamp(32px,3.2vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--ink-900);margin:8px 0 0;text-wrap:balance}

/* TrustIndex strip */
.ocd .oc-rv-tx-strip{display:inline-flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--hd-line);border-radius:999px;padding:10px 22px 10px 14px;box-shadow:0 12px 28px -10px rgba(43,39,35,.18);margin-top:6px}
.ocd .oc-rv-tx-strip .google-g{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--hd-line);flex-shrink:0}
.ocd .oc-rv-tx-strip .google-g svg{width:18px;height:18px}
.ocd .oc-rv-tx-strip .tx-rating{display:flex;flex-direction:column;gap:1px;line-height:1.1}
.ocd .oc-rv-tx-strip .tx-rating .top{display:flex;align-items:center;gap:6px}
.ocd .oc-rv-tx-strip .tx-rating .top .num{font-size:14px;font-weight:700;color:var(--ink-900)}
.ocd .oc-rv-tx-strip .tx-rating .top .rv-stars svg{width:14px;height:14px;color:#f5b740}
.ocd .oc-rv-tx-strip .tx-rating .meta{font-size:10px;font-weight:700;color:var(--ink-500);letter-spacing:.04em}
.ocd .oc-rv-tx-strip .tx-badge{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-700);border-left:1px solid var(--hd-line);padding-left:14px}
.ocd .rv-stars{display:inline-flex;align-items:center;gap:2px;color:#f5b740}

/* Editorial grid: 1 big feature spanning 2 rows + 2 small cards stacked */
.ocd .oc-rv-editorial{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:22px;width:100%;min-height:600px}
.ocd .oc-rv-big{grid-row:1 / span 2;position:relative;border-radius:24px;overflow:hidden;background:#2b2723;color:#fbf6f0;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 30px 70px -22px rgba(43,39,35,.42)}
.ocd .oc-rv-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ocd .oc-rv-big::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(43,39,35,.94) 100%);z-index:1}
.ocd .oc-rv-big .big-meta-pill{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:8px;background:rgba(43,39,35,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fbf6f0;z-index:2;border:1px solid rgba(255,255,255,.18)}
.ocd .oc-rv-big .big-stars{position:absolute;top:24px;right:24px;z-index:2}
.ocd .oc-rv-big .big-stars svg{width:18px;height:18px;color:#ffd66b}
.ocd .oc-rv-big .big-body{position:relative;padding:36px 40px 36px;z-index:2}
.ocd .oc-rv-big .big-pname{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ffd66b;display:block;margin-bottom:14px}
.ocd .oc-rv-big .big-quote{font-size:24px;font-weight:700;font-style:italic;line-height:1.25;color:#fbf6f0;margin:0 0 22px;letter-spacing:-.01em;max-width:520px}
.ocd .oc-rv-big .big-author{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.ocd .oc-rv-big .big-avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ec4899);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;flex-shrink:0;box-shadow:0 14px 28px -6px rgba(0,0,0,.5),0 0 0 4px rgba(255,255,255,.18);border:3px solid rgba(255,255,255,.95)}
.ocd .oc-rv-big .big-avatar-photo{background-size:cover;background-position:center top;color:transparent}
.ocd .oc-rv-big .big-name{font-size:15px;font-weight:700;color:#fbf6f0;letter-spacing:-.005em}
.ocd .oc-rv-big .big-role{font-size:12.5px;color:rgba(251,246,240,.65);font-weight:700}

.ocd .oc-rv-small{position:relative;background:#fff;border:1px solid var(--hd-line);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:140px 1fr;box-shadow:0 18px 40px -22px rgba(43,39,35,.22);transition:transform .3s ease}
.ocd .oc-rv-small:hover{transform:translateY(-3px)}
.ocd .oc-rv-small .s-photo{position:relative;background:#2b2723;overflow:hidden}
.ocd .oc-rv-small .s-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ocd .oc-rv-small .s-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(43,39,35,.55) 0%,transparent 50%);pointer-events:none}
.ocd .oc-rv-small .s-photo .s-pname{position:absolute;bottom:8px;left:10px;color:#fbf6f0;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.6);z-index:1}
/* Industry-callout variant (no property photo) — used when we have a non-hotel real quote but no property image */
.ocd .oc-rv-small .s-photo.s-industry{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2b2723 0%,#3a342f 100%);color:rgba(255,214,107,.85);overflow:hidden}
.ocd .oc-rv-small .s-photo.s-industry::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(236,72,153,.18) 0%,transparent 55%),radial-gradient(circle at 70% 70%,rgba(168,85,247,.12) 0%,transparent 55%);pointer-events:none}
.ocd .oc-rv-small .s-photo.s-industry svg{width:56px;height:56px;position:relative;z-index:1;opacity:.95}
.ocd .oc-rv-small .s-photo.s-industry::after{display:none}
.ocd .oc-rv-small .s-photo.s-industry .s-pname{color:#ffd66b;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* Google-review card variant — no property photo, Google-branded card with reviewer name + date */
.ocd .oc-rv-google{grid-template-columns:1fr;display:flex;flex-direction:column;padding:0}
.ocd .oc-rv-google .g-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--hd-line)}
.ocd .oc-rv-google .g-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;flex-shrink:0;box-shadow:0 4px 10px -2px rgba(43,39,35,.2)}
.ocd .oc-rv-google .g-meta{display:flex;flex-direction:column;gap:1px;min-width:0}
.ocd .oc-rv-google .g-name{font-size:14px;font-weight:700;color:var(--ink-900);letter-spacing:-.005em}
.ocd .oc-rv-google .g-date{font-size:11px;color:var(--ink-500);font-weight:700}
.ocd .oc-rv-google .g-logo{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.ocd .oc-rv-google .g-logo svg{width:100%;height:100%}
.ocd .oc-rv-google .g-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}
.ocd .oc-rv-google .g-stars svg{width:15px;height:15px;color:#f5b740}
.ocd .oc-rv-google .g-quote{font-size:13.5px;line-height:1.6;color:var(--ink-800);margin:0;font-style:normal;font-weight:400}
.ocd .oc-rv-small .s-body{padding:18px 22px;display:flex;flex-direction:column;gap:8px;justify-content:center}
.ocd .oc-rv-small .s-stars svg{width:13px;height:13px;color:#f5b740}
.ocd .oc-rv-small .s-quote{font-size:13.5px;line-height:1.5;color:var(--ink-800);margin:0;font-style:italic}
.ocd .oc-rv-small .s-author{display:flex;flex-direction:column;gap:0;padding-top:8px;border-top:1px solid var(--hd-line)}
.ocd .oc-rv-small .s-name{font-size:12px;font-weight:700;color:var(--ink-900)}
.ocd .oc-rv-small .s-role{font-size:11px;color:var(--terra-700);font-weight:700}

/* Marquee strip — scrolling chips below the editorial grid */
.ocd .oc-rv-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent);mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent);padding:8px 0}
.ocd .oc-rv-marquee-track{display:flex;gap:18px;animation:ocd-rv-marquee 40s linear infinite;width:max-content}
.ocd .oc-rv-marquee-card{flex-shrink:0;width:340px;background:#fff;border:1px solid var(--hd-line);border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 24px -14px rgba(43,39,35,.18)}
.ocd .oc-rv-marquee-card .rv-stars svg{width:13px;height:13px;color:#f5b740}
.ocd .oc-rv-marquee-card .quote{font-size:13px;line-height:1.55;color:var(--ink-800);margin:0;font-style:italic}
.ocd .oc-rv-marquee-card .author{font-size:11px;color:var(--terra-700);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@keyframes ocd-rv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.ocd .oc-rv-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}
.ocd .oc-rv-cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink-900);color:#fff;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:15px 26px;border-radius:999px;text-decoration:none;transition:all .3s ease;box-shadow:0 14px 28px -8px rgba(43,39,35,.4)}
.ocd .oc-rv-cta-btn:hover{background:#8a4f33;color:#fff;transform:translateY(-2px)}
.ocd .oc-rv-cta-foot{font-size:13px;color:var(--ink-500);text-align:center}
.ocd .oc-rv-cta-foot em{font-style:italic;font-weight:700;color:var(--terra-700)}

@media (max-width:980px){
  .ocd .oc-rv-editorial{grid-template-columns:1fr;grid-template-rows:auto;min-height:auto}
  .ocd .oc-rv-big{grid-row:auto}
  .ocd .oc-rv-big .big-quote{font-size:20px}
}
@media (max-width:680px){
  .ocd .oc-rv-small{grid-template-columns:1fr}
  .ocd .oc-rv-small .s-photo{aspect-ratio:16/9}
}
@media (max-width:560px){
  .ocd .oc-reviews{padding:64px 24px}
  .ocd .oc-rv-big .big-body{padding:24px 22px 24px}
  .ocd .oc-rv-big .big-quote{font-size:18px}
}

/* ============================
   SECTION 10: CLOSING DISCOVERY-CALL PANEL (canonical Service One Promise CTA)
============================ */
.ocd .oc-disco{background:#fff;padding:clamp(72px,9vw,112px) clamp(20px,5vw,64px)}
.ocd .oc-disco-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,96px);align-items:start}

/* LEFT */
.ocd .oc-disco-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#A86A4A;margin-bottom:28px}
.ocd .oc-disco-eyebrow::before,.ocd .oc-disco-eyebrow::after{content:'';width:28px;height:1.5px;background:#C08260}
.ocd .oc-disco-h2{font-size:clamp(30px,3.6vw,52px);font-weight:700;line-height:1.06;letter-spacing:-.025em;color:#2B2723;margin-bottom:22px;text-wrap:balance}
.ocd .oc-disco-h2 em{display:block;font-style:italic;font-weight:700;color:#A86A4A}
.ocd .oc-disco-lede{font-size:16px;line-height:1.65;color:#4A423C;margin-bottom:36px;max-width:46ch}
.ocd .oc-disco-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#fff;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;box-shadow:0 12px 32px rgba(236,72,153,.42),0 4px 12px rgba(168,85,247,.28);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;margin-bottom:18px}
.ocd .oc-disco-btn::after{content:'';position:absolute;top:0;left:0;width:38%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);animation:ocd-btn-shimmer 3.5s ease-in-out infinite}
.ocd .oc-disco-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(236,72,153,.52),0 6px 16px rgba(168,85,247,.36)}
.ocd .oc-disco-btnrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px;margin-bottom:18px}
.ocd .oc-disco-btnrow .oc-disco-btn{margin-bottom:0}
.ocd .oc-disco-btn-alt{background:#fff;color:#2B2723;border:1.5px solid rgba(206,156,134,.55);box-shadow:0 8px 20px -10px rgba(43,39,35,.18);animation:none}
.ocd .oc-disco-btn-alt::after{display:none}
.ocd .oc-disco-btn-alt:hover{background:#FDF8F1;border-color:#A86A4A;color:#A86A4A;transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(43,39,35,.22)}
.ocd .oc-disco-phone{display:block;font-size:13.5px;color:#807268}
.ocd .oc-disco-phone a{color:#2B2723;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ocd .oc-disco-phone a:hover{color:#A86A4A}

/* RIGHT */
.ocd .oc-disco-card{background:#FDF8F1;border-radius:18px;border:1px solid rgba(206,156,134,.18);padding:32px 36px}
.ocd .oc-disco-card-eyebrow{display:flex;align-items:center;gap:12px;font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#A86A4A;margin-bottom:28px}
.ocd .oc-disco-card-eyebrow::before{content:'';width:28px;height:1.5px;background:#C08260;flex-shrink:0}
.ocd .oc-disco-items{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}
.ocd .oc-disco-item{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(206,156,134,.18);align-items:start}
.ocd .oc-disco-item:first-child{padding-top:0}
.ocd .oc-disco-item:last-child{border-bottom:none;padding-bottom:0}
.ocd .oc-disco-mins{font-size:13px;font-weight:700;letter-spacing:-.01em;background:linear-gradient(120deg,#f97316,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-top:2px}
.ocd .oc-disco-item-body{font-size:14px;line-height:1.55;color:#4A423C;margin:0}
.ocd .oc-disco-item-body strong{color:#2B2723;font-weight:700}

@keyframes ocd-btn-shimmer{0%{transform:translateX(-100%) skewX(-18deg);opacity:0}40%{opacity:1}100%{transform:translateX(260%) skewX(-18deg);opacity:0}}

@media (max-width:900px){.ocd .oc-disco-inner{grid-template-columns:1fr;gap:48px}.ocd .oc-disco-lede{max-width:none}}

/* ===== SECTION 6b: 1-ON-1 REINFORCEMENT COACHING ===== */
.ocd .oc-rein{background:#2B2723;color:#fbf0e6;padding:clamp(64px,8vw,104px) clamp(20px,5vw,64px);position:relative;overflow:hidden}
.ocd .oc-rein::before{content:'';position:absolute;top:-160px;right:-120px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(206,156,134,.10) 0%,rgba(206,156,134,0) 70%);pointer-events:none}
.ocd .oc-rein::after{content:'';position:absolute;bottom:-140px;left:-100px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.08) 0%,rgba(168,85,247,0) 70%);pointer-events:none}
.ocd .oc-rein-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,72px);align-items:end;position:relative;z-index:1}
.ocd .oc-rein-left{padding-bottom:0;align-self:center}
.ocd .oc-rein-right{align-self:end;display:flex;justify-content:flex-end;align-items:flex-end;position:relative;padding:0 clamp(8px,2vw,24px)}
.ocd .oc-rein-right::before{content:'';position:absolute;left:50%;bottom:0;width:min(90%,520px);aspect-ratio:1/1.05;transform:translateX(-50%);border-radius:50%;background:conic-gradient(from 180deg at 50% 50%,#ffd66b 0deg,#f97316 90deg,#ec4899 180deg,#a855f7 270deg,#ffd66b 360deg);filter:blur(50px);opacity:.55;animation:rein-halo-rotate 18s linear infinite;pointer-events:none}
.ocd .oc-rein-right::after{content:'';position:absolute;left:50%;bottom:0;width:min(78%,440px);aspect-ratio:1/1.05;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 65%);pointer-events:none}
@keyframes rein-halo-rotate{from{transform:translateX(-50%) rotate(0deg)}to{transform:translateX(-50%) rotate(360deg)}}
.ocd .oc-rein-img{width:100%;max-width:540px;height:auto;display:block;position:relative;z-index:1;filter:drop-shadow(0 24px 50px rgba(0,0,0,.45))}
.ocd .oc-rein-eyebrow{margin-bottom:18px;color:#e6c350}
.ocd .oc-rein-eyebrow::before,.ocd .oc-rein-eyebrow::after{background:#e6c350 !important}
.ocd .oc-rein-bar{width:28px;height:1.5px;background:#e6c350;display:inline-block}
.ocd .oc-rein-h2{font-size:clamp(32px,4vw,54px);font-weight:700;line-height:1.05;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance;color:#fbf0e6}
.ocd .oc-rein-h2-brown{display:block;background:linear-gradient(140deg,#fbf0e6 22%,#CE9C86 80%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.12em;margin-bottom:-.08em}
.ocd .oc-rein-h2-pop{display:block;font-style:italic;font-weight:700;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite;padding:0 .06em .12em;margin-bottom:-.06em}
.ocd .oc-rein-lede{font-size:clamp(15px,1.2vw,17px);line-height:1.65;color:rgba(251,240,230,.82);margin:0 0 26px;max-width:52ch}
.ocd .oc-rein-lede strong{color:#fbf0e6;font-weight:700}
.ocd .oc-rein-lede em{font-style:italic;color:#e6c350;font-weight:400}
.ocd .oc-rein-chips{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ocd .oc-rein-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(251,246,240,.06);border:1px solid rgba(251,246,240,.18);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;color:#fbf0e6;box-shadow:0 4px 10px -4px rgba(0,0,0,.25)}
.ocd .oc-rein-chip-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);display:inline-block;flex-shrink:0}
/* Pricing stub on dark section — inline text, no card chrome */
.ocd .oc-rein .oc-section-price-stub{margin:0 0 22px;padding:0;background:transparent;border:0;border-radius:0}
.ocd .oc-rein .oc-section-price-stub .lbl{color:#e6c350}
.ocd .oc-rein .oc-section-price-stub .amt{color:#fbf0e6}
.ocd .oc-rein .oc-section-price-stub .per{color:rgba(251,240,230,.65)}

/* Google review pill (Design C: split two-tone) on dark coaching bg */
.ocd .oc-rein-gr{display:inline-flex;align-items:stretch;border-radius:999px;overflow:hidden;box-shadow:0 18px 44px -18px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);margin:0 0 28px;max-width:100%;flex-wrap:nowrap;background:#fff;padding:0}
.ocd .oc-rein-gr-l{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;background:#fff;min-width:0}
.ocd .oc-rein-gr-google{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ocd .oc-rein-gr-google svg{width:100%;height:100%;display:block}
.ocd .oc-rein-gr-stars{font-size:12px;color:#f5b740;letter-spacing:.4px;line-height:1;flex-shrink:0;text-shadow:0 1px 1px rgba(245,183,64,.22)}
.ocd .oc-rein-gr-quote{display:inline;font-size:13px;font-style:italic;line-height:1.3;color:#2B2723;font-weight:400;margin:0;padding:0;white-space:nowrap}
.ocd .oc-rein-gr-quote em{font-style:italic;color:#2B2723;font-weight:700;background:linear-gradient(180deg,transparent 62%,#ffd66b 62%,#ffd66b 92%,transparent 92%);padding:0 3px}
.ocd .oc-rein-gr-r{display:inline-flex;align-items:center;padding:8px 16px;background:linear-gradient(135deg,#fbf0e6,#fdf8f1);border-left:1px solid rgba(206,156,134,.30);flex-shrink:0}
.ocd .oc-rein-gr-name{font-size:12px;font-weight:700;color:#2B2723;letter-spacing:.04em;white-space:nowrap}
@media (max-width:560px){
  .ocd .oc-rein-gr{flex-wrap:wrap;border-radius:18px}
  .ocd .oc-rein-gr-l{flex:1 1 100%}
  .ocd .oc-rein-gr-r{flex:1 1 100%;border-left:0;border-top:1px solid rgba(206,156,134,.30)}
}

.ocd .oc-rein-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ocd .oc-rein-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;background:linear-gradient(120deg,#ffd66b,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;box-shadow:0 14px 30px -10px rgba(236,72,153,.55);transition:transform .25s ease,box-shadow .25s ease}
.ocd .oc-rein-cta:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(236,72,153,.65)}
.ocd .oc-rein-cta-sub{font-size:12px;font-weight:700;color:rgba(251,240,230,.65);letter-spacing:.02em}

/* Featured testimonial card on the right */
.ocd .oc-rein-quote{background:#fff;border:1px solid rgba(206,156,134,.30);border-radius:22px;padding:clamp(24px,3vw,36px);box-shadow:0 24px 60px -22px rgba(43,39,35,.28),0 6px 16px rgba(43,39,35,.06);position:relative;margin:0;overflow:hidden}
.ocd .oc-rein-quote::before{content:'';position:absolute;top:0;left:0;height:5px;width:100%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-rein-quote-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(206,156,134,.22)}
.ocd .oc-rein-quote-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#fdf8f1,#fbf0e6);border:1px solid rgba(206,156,134,.30);display:inline-flex;align-items:center;justify-content:center;color:#A86A4A;flex-shrink:0;box-shadow:0 4px 10px -4px rgba(43,39,35,.10)}
.ocd .oc-rein-quote-icon svg{width:20px;height:20px}
.ocd .oc-rein-quote-meta{display:flex;flex-direction:column;gap:2px;flex:1}
.ocd .oc-rein-quote-status{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5d6f54}
.ocd .oc-rein-quote-status-dot{width:8px;height:8px;border-radius:50%;background:#5d6f54;position:relative;display:inline-block;animation:rein-status-pulse 2s ease-in-out infinite}
.ocd .oc-rein-quote-status-dot::before{content:'';position:absolute;inset:-3px;border-radius:50%;border:1.5px solid rgba(93,111,84,.45);animation:rein-status-pulse-ring 2s ease-out infinite}
@keyframes rein-status-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes rein-status-pulse-ring{0%{transform:scale(.8);opacity:.7}70%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}
.ocd .oc-rein-quote-time{font-size:12.5px;font-weight:700;color:#665b53}
.ocd .oc-rein-quote-body{font-size:clamp(16px,1.35vw,19px);font-style:italic;line-height:1.55;color:#2B2723;margin:0 0 22px;position:relative;padding-left:0;font-weight:400}
.ocd .oc-rein-quote-mark{display:inline-block;font-size:1.8em;line-height:0;vertical-align:-0.35em;margin-right:4px;font-style:italic;font-weight:700;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ocd .oc-rein-quote-body strong{color:#2B2723;font-weight:700;font-style:italic}
.ocd .oc-rein-quote-body em{font-style:italic;color:#8a4f33}
.ocd .oc-rein-quote-cite{display:flex;align-items:center;gap:12px}
.ocd .oc-rein-quote-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ce9c86,#a86a4a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;border:2px solid #fff;box-shadow:0 4px 10px -4px rgba(43,39,35,.25)}
.ocd .oc-rein-quote-author{display:flex;flex-direction:column;line-height:1.2;flex:1}
.ocd .oc-rein-quote-name{font-size:14.5px;font-weight:700;color:#2B2723}
.ocd .oc-rein-quote-role{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#665b53}
.ocd .oc-rein-quote-divider{width:1px;height:32px;background:rgba(206,156,134,.30)}
.ocd .oc-rein-quote-coach{display:flex;flex-direction:column;line-height:1.2}
.ocd .oc-rein-quote-coach-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8a4f33}
.ocd .oc-rein-quote-coach-name{font-size:14px;font-weight:700;color:#2B2723;font-style:italic}

@media (max-width:980px){
  .ocd .oc-rein-inner{grid-template-columns:1fr;gap:0;align-items:stretch}
  .ocd .oc-rein-left{padding-bottom:24px}
  .ocd .oc-rein-right{justify-content:center}
  .ocd .oc-rein-img{max-width:360px}
}

/* ===== SECTION 4b: 10-YEAR LONGITUDINAL STUDY (also embedded inside Custom Vs Boxed as .cvb-proof) ===== */
.ocd .oc-tenyr{background:#FBF6F0;padding:clamp(64px,8vw,104px) clamp(20px,5vw,64px)}
.ocd .cvb-proof{background:transparent;padding:clamp(32px,4vw,52px) 0 0;margin-top:clamp(32px,4vw,52px);border-top:1px solid rgba(206,156,134,.30);position:relative}
.ocd .cvb-proof::before{content:'The receipts';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#fff;color:#8a4f33;padding:4px 18px;font-size:10.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border:1px solid rgba(206,156,134,.30);border-radius:999px}
.ocd .cvb-proof .oc-tenyr-inner{max-width:1180px;margin:0 auto;padding:0}
.ocd .oc-tenyr-pq-wide{grid-column:1 / -1;margin:clamp(8px,1.2vw,18px) 0 0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-align:center;position:relative;font-size:clamp(22px,2.6vw,38px);font-style:italic;line-height:1.35;color:#2B2723;font-weight:400;text-wrap:balance}
.ocd .oc-tenyr-pq-wide .oc-tenyr-pq-quote{display:inline-block;font-size:clamp(56px,7vw,96px);line-height:0;vertical-align:-0.32em;margin-right:6px;font-style:italic;font-weight:700;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ocd .oc-tenyr-pq-wide em{font-style:italic;color:#8a4f33;font-weight:400}
.ocd .oc-tenyr-pq-wide strong{font-weight:700;font-style:italic;color:#2B2723;background:linear-gradient(180deg,transparent 62%,#ffd66b 62%,#ffd66b 92%,transparent 92%);padding:0 4px}
.ocd .oc-tenyr-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,5vw,80px);align-items:center}
.ocd .oc-tenyr-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8a4f33;margin-bottom:22px}
.ocd .oc-tenyr-eyebrow-bar{width:28px;height:1.5px;background:#c08260;display:inline-block}
.ocd .oc-tenyr-h2{font-size:clamp(32px,4.2vw,58px);font-weight:700;line-height:1.04;letter-spacing:-.025em;margin-bottom:24px;text-wrap:balance}
.ocd .oc-tenyr-h2-brown{display:block;background:linear-gradient(140deg,#CE9C86 22%,#000 60%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ocd .oc-tenyr-h2-pop{display:block;font-style:italic;font-weight:700;background:linear-gradient(120deg,#ffd66b 0%,#f97316 30%,#ec4899 65%,#a855f7 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:ocd-gradient-shift 6s ease-in-out infinite}
.ocd .oc-tenyr-lede{font-size:clamp(15px,1.2vw,17px);line-height:1.65;color:#4A423C;margin-bottom:36px;max-width:54ch}
.ocd .oc-tenyr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);margin-bottom:32px}
.ocd .oc-tenyr-stat{padding:18px 16px 18px 0;border-left:2px solid rgba(206,156,134,.45);padding-left:18px}
.ocd .oc-tenyr-stat-num{font-size:clamp(36px,3.8vw,52px);font-weight:700;line-height:1;letter-spacing:-.02em;color:#ec4899;margin-bottom:6px}
.ocd .oc-tenyr-stat-pct{font-size:.6em;font-weight:700;color:#a855f7;margin-left:2px}
.ocd .oc-tenyr-stat-label{font-size:12.5px;line-height:1.45;color:#4A423C;font-weight:400}
.ocd .oc-tenyr-stat-label strong{color:#2B2723;font-weight:700}
.ocd .oc-tenyr-pq{font-size:clamp(17px,1.4vw,21px);font-style:italic;line-height:1.45;color:#2B2723;font-weight:400;margin:0;padding:20px 0 0;border-top:1px solid rgba(43,39,35,.10);position:relative}
.ocd .oc-tenyr-pq em{font-style:italic;color:#8a4f33;font-weight:400}
.ocd .oc-tenyr-pq strong{font-weight:700;color:#2B2723}
.ocd .oc-tenyr-pq-mark{display:none}
.ocd .oc-tenyr-pq cite{display:block;margin-top:12px;font-size:10.5px;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#807268}

.ocd .oc-tenyr-chart-card{background:#fff;border:1px solid rgba(206,156,134,.22);border-radius:20px;padding:clamp(20px,2.5vw,32px);box-shadow:0 22px 50px -20px rgba(43,39,35,.18),0 6px 14px rgba(43,39,35,.06)}
.ocd .oc-tenyr-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ocd .oc-tenyr-chart-title{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2B2723}
.ocd .oc-tenyr-chart-legend{display:flex;gap:14px;flex-wrap:wrap}
.ocd .oc-tenyr-leg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#4A423C}
.ocd .oc-tenyr-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.ocd .oc-tenyr-dot-oc{background:linear-gradient(120deg,#f97316,#ec4899,#a855f7)}
.ocd .oc-tenyr-dot-co{background:#807268}
.ocd .oc-tenyr-chart-wrap{width:100%;aspect-ratio:600/320;position:relative}
.ocd .oc-tenyr-chart{width:100%;height:100%;display:block}
.ocd .oc-tenyr-chart-foot{margin-top:14px;font-size:13px;line-height:1.5;color:#4A423C}
.ocd .oc-tenyr-chart-foot-strong{font-weight:700;color:#ec4899}

@media (max-width:900px){
  .ocd .oc-tenyr-inner{grid-template-columns:1fr;gap:48px}
  .ocd .oc-tenyr-lede{max-width:none}
}
@media (max-width:560px){
  .ocd .oc-tenyr-stats{grid-template-columns:1fr;gap:14px}
  .ocd .oc-tenyr-stat{border-left:0;border-top:1px solid rgba(206,156,134,.35);padding:14px 0 0 0}
  .ocd .oc-tenyr-stat:first-child{border-top:0;padding-top:0}
}
@media (max-width:520px){.ocd .oc-disco-card{padding:24px 20px}.ocd .oc-disco-item{grid-template-columns:46px 1fr;gap:12px}}

/* Transparent header so it blends into the dark hero */
.page-id-42047, body.home{background:#1a0f0a !important}
.page-id-42047 #oc-header, body.home #oc-header, 
.page-id-42047 #oc-header.bw-hdr, body.home #oc-header.bw-hdr, 
.page-id-42047 .bw-hdr, body.home .bw-hdr{background:transparent !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:none !important;border-bottom:1px solid rgba(253,248,241,.22) !important}
.page-id-42047 .bw-hdr::before, body.home .bw-hdr::before, 
.page-id-42047 .bw-hdr::after, body.home .bw-hdr::after{background:transparent !important}

/* Logo — invert to appear white on dark (no white-variant logo uploaded yet) */
.page-id-42047 .bw-brand img, body.home .bw-brand img, 
.page-id-42047 .bw-brand .custom-logo, body.home .bw-brand .custom-logo, 
.page-id-42047 #oc-header .custom-logo, body.home #oc-header .custom-logo{filter:brightness(0) invert(1)}

/* Nav menu items → white, mustard on hover/active */
.page-id-42047 .bw-nav li a, body.home .bw-nav li a, 
.page-id-42047 .bw-nav li > span, body.home .bw-nav li > span{color:#fff !important}
.page-id-42047 .bw-nav li:hover > a, body.home .bw-nav li:hover > a, 
.page-id-42047 .bw-nav li:hover > span, body.home .bw-nav li:hover > span{color:#ffd66b !important;background:rgba(255,255,255,.06) !important}
.page-id-42047 .bw-nav li.active > a, body.home .bw-nav li.active > a, 
.page-id-42047 .bw-nav li.active > span, body.home .bw-nav li.active > span{color:#ffd66b !important;background:rgba(255,214,107,.12) !important}
.page-id-42047 .bw-chev, body.home .bw-chev{color:#fff !important}

/* "We make change easy" tagline → mustard, lighter vertical separator */
.page-id-42047 .bw-tag, body.home .bw-tag{color:#e6c350 !important;border-left:1.5px solid rgba(253,248,241,.35) !important}

/* Hero play-circle (inline in .cta-row, after Instant Quote) with hover tooltip */
.ocd .hero-play-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:57px;height:57px;padding:0;border:0;background:transparent;cursor:pointer;font-family:inherit}
.ocd .hero-play-orb{width:57px;height:57px;border-radius:50%;background:linear-gradient(120deg,#f97316,#ec4899,#a855f7);background-size:200% auto;animation:ocd-gradient-shift 6s ease-in-out infinite;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(236,72,153,.55),0 4px 12px rgba(168,85,247,.30);transition:transform .3s ease,box-shadow .3s ease;position:relative}
.ocd .hero-play-orb::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(236,72,153,.30);opacity:0;transition:opacity .3s ease,inset .3s ease}
.ocd .hero-play-btn:hover .hero-play-orb,.ocd .hero-play-btn:focus-visible .hero-play-orb{transform:scale(1.08);box-shadow:0 14px 32px -8px rgba(236,72,153,.65),0 6px 14px rgba(168,85,247,.36)}
.ocd .hero-play-btn:hover .hero-play-orb::after,.ocd .hero-play-btn:focus-visible .hero-play-orb::after{opacity:1;inset:-10px}
.ocd .hero-play-orb svg{width:20px;height:20px;margin-left:3px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.ocd .hero-play-tip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid rgba(206,156,134,.30);border-radius:14px;padding:10px 16px;box-shadow:0 18px 36px -16px rgba(43,39,35,.30),0 6px 14px rgba(43,39,35,.10);display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease;white-space:nowrap;z-index:5}
.ocd .hero-play-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#fff;filter:drop-shadow(0 2px 2px rgba(43,39,35,.10))}
.ocd .hero-play-btn:hover .hero-play-tip,.ocd .hero-play-btn:focus-visible .hero-play-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ocd .hero-play-tip-lbl{font-size:12.5px;font-weight:700;color:#2B2723;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.ocd .hero-play-tip-sub{font-size:10.5px;font-weight:700;color:#665b53;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}

@media (max-width:760px){
  .ocd .hero{padding:80px 0 80px}
  .ocd .hero h2.hero-headline{font-size:clamp(36px,8vw,52px)}
  .ocd .cta-row{flex-direction:column;width:100%}
  .ocd .cta-row .btn{width:100%;justify-content:center}
}

/* =================================================================
   RESPONSIVE FLUIDNESS OVERRIDES (KJ batch 2026-05-19)
================================================================= */

/* --- Inbox / approval-flow: parent overflow guard --- */
.ocd .ocd-approval-flow{max-width:100vw}

/* --- Trust strip: center when shrunken + vertical-center content on tablet/mobile --- */
@media (max-width:1200px){
  .ocd .oc-stats-grid{justify-items:center;justify-content:center;text-align:center;align-items:center}
  .ocd .oc-stats-grid .stat-cell,
  .ocd .oc-stats-grid .stat-cell-text,
  .ocd .oc-stats-grid .press-cell,
  .ocd .oc-stats-grid .lenny-cell{align-items:center;justify-content:center;text-align:center}
  .ocd .oc-stats-grid .stat-label{margin-left:auto;margin-right:auto}
}
@media (max-width:980px){
  .ocd .oc-stats-grid > *{align-self:center;justify-content:center;align-items:center;display:flex;flex-direction:column;min-height:0}
}

/* --- Pillars: 4 → 2 → 1 columns --- */
@media (max-width:1100px){
  .ocd .pa-grid{grid-template-columns:repeat(2,1fr);max-width:780px}
}
@media (max-width:560px){
  .ocd .pa-grid{grid-template-columns:1fr;max-width:480px}
}

/* --- Custom Training block: image AFTER text on tablet/below, text fills container --- */
@media (max-width:980px){
  .ocd .pa-custom{grid-template-columns:1fr;gap:32px;text-align:center;padding:0;max-width:100%}
  .ocd .pa-custom-visual{order:2;max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .ocd .pa-custom-visual img{max-width:none;width:100%;border-radius:0;box-shadow:none;display:block;margin:0}
  .ocd .pa-custom-text{order:1;align-items:center;padding:0 clamp(20px,4vw,32px)}
  .ocd .pa-custom-text .pa-chips{justify-content:center}
  .ocd .pa-custom-text .pa-custom-body{margin-left:auto;margin-right:auto;max-width:60ch}
  .ocd .pa-custom-actions{justify-content:center}
}

/* --- The receipts (CVB proof) needs side padding when narrow --- */
@media (max-width:980px){
  .ocd .cvb-proof{padding-left:clamp(16px,3vw,28px);padding-right:clamp(16px,3vw,28px)}
  .ocd .cvb-proof .oc-tenyr-inner{padding:0}
}

/* --- Service One Promise dark card: LEFT-align text on tablet/below --- */
@media (max-width:880px){
  .ocd .oc-scale-promise-card{text-align:left;align-items:flex-start}
  .ocd .oc-scale-promise-card-head,
  .ocd .oc-scale-promise-card-tags{justify-content:flex-start}
}

/* --- Mystery Shopping on tablet/below: hide email graphic, hide arrows, COMPRESS PDF (real width, not transform) --- */
@media (max-width:1180px){
  .ocd .oc-mss-platform{transform-origin:right top;transform:scale(clamp(.32, calc((100vw - 16px) / 720), .9));transition:transform .35s ease}
}
@media (max-width:980px){
  .ocd .oc-mss-bleed{overflow-x:hidden}
  .ocd .oc-mss-bleed .oc-mss-wrap{grid-template-columns:1fr;gap:48px;padding:0 clamp(20px,4vw,40px)}
  .ocd .oc-mss-left.oc-mss-reveal-l{display:none}
  .ocd .has-curly-arrow .oc-mss-curly-arrow,
  .ocd .has-curly-arrow-left .oc-mss-curly-arrow{display:none}
  .ocd .oc-mss-curly-badge,
  .ocd .oc-mss-curly-badge-right,
  .ocd .oc-mss-curly-badge-left{display:none}
  .ocd .oc-mss-bleed .oc-mss-center,
  .ocd .oc-mss-text{text-align:center;padding:0;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}
  /* Full-bleed container with absolute-centered PDF (bulletproof centering math) */
  .ocd .oc-mss-bleed .oc-mss-visual{
    --pdf-scale:clamp(.32, calc((100vw - 60px) / 1100px), 1);
    display:block !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    overflow:visible;
    position:relative;
    padding-top:64px;
    padding-bottom:24px;
    /* Reserve vertical space for the scaled PDF (PDF natural height ~1100px) */
    min-height:calc(1100px * var(--pdf-scale) + 96px);
  }
  /* PDF: absolutely positioned at viewport center, scaled via transform */
  .ocd .oc-mss-bleed .oc-mss-pdf{
    position:absolute !important;
    top:64px !important;
    left:50% !important;
    width:820px !important;
    max-width:none !important;
    margin:0 !important;
    transform:translateX(-50%) scale(var(--pdf-scale)) !important;
    transform-origin:50% 0 !important;
    box-shadow:none;
  }
}
@media (max-width:560px){
  /* Show the PDF on mobile (was display:none) — keep showing, just scale more aggressively */
  .ocd .oc-mss-bleed .oc-mss-visual{display:block !important;order:2 !important}
  .ocd .oc-mss-bleed .oc-mss-pdf{
    --pdf-scale:clamp(.28, calc((100vw - 32px) / 820px), .65) !important;
  }
}

/* --- Mystery Shopping cards (Learners / Compete sub-bands + feature grid) stack on mobile --- */
@media (max-width:880px){
  .ocd .oc-mss-bleed .oc-mss-grid,
  .ocd .oc-mss-grid{grid-template-columns:1fr !important;gap:16px !important}
  .ocd .oc-mss-subband-row{grid-template-columns:1fr !important;gap:16px !important}
}

/* --- HOOT AI sub-band: image on top, text below on mobile, FULL FACE visible --- */
@media (max-width:880px){
  .ocd .oc-mss-hoot{grid-template-columns:1fr !important;min-height:0}
  .ocd .oc-mss-hoot .hoot-art{aspect-ratio:1/1;min-height:360px;max-height:none;width:100%}
  .ocd .oc-mss-hoot .hoot-art img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
  .ocd .oc-mss-hoot .hoot-body{padding:24px 22px 26px;text-align:center}
  .ocd .oc-mss-hoot .hoot-wordmark{justify-content:center;font-size:32px}
  .ocd .oc-mss-hoot .subband-chips{justify-content:center}
}
@media (max-width:560px){
  .ocd .oc-mss-hoot .hoot-art{min-height:320px}
}

/* --- Coaching calls on tablet/below: center text + fit screen --- */
@media (max-width:980px){
  .ocd .oc-rein{padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px);padding-bottom:0}
  .ocd .oc-rein-inner{max-width:100%;overflow:hidden}
  .ocd .oc-rein-left{text-align:center;display:flex;flex-direction:column;align-items:center;max-width:100%;min-width:0;padding-bottom:24px}
  .ocd .oc-rein-eyebrow,
  .ocd .oc-rein .oc-section-price-stub,
  .ocd .oc-rein-gr,
  .ocd .oc-rein-cta-row{align-self:center;justify-content:center}
  .ocd .oc-rein-lede{margin-left:auto;margin-right:auto}
  .ocd .oc-rein-h2{font-size:clamp(28px,7vw,42px);max-width:100%;word-wrap:break-word}
  .ocd .oc-rein-img{max-width:min(360px,90%)}
  .ocd .oc-rein-right::before,
  .ocd .oc-rein-right::after{width:min(85%,360px)}
}
@media (max-width:560px){
  /* Google review pill: allow wrapping so content fits narrow viewports */
  .ocd .oc-rein-gr{flex-wrap:wrap;max-width:100%}
  .ocd .oc-rein-gr-l{flex:1 1 100%;justify-content:flex-start}
  .ocd .oc-rein-gr-r{flex:1 1 100%;border-left:0;border-top:1px solid rgba(206,156,134,.30)}
  .ocd .oc-rein-gr-quote{white-space:normal !important;line-height:1.4}
  .ocd .oc-rein-cta{font-size:11.5px;padding:12px 22px;letter-spacing:.08em}
}

/* --- Custom E-learning on tablet/below: center text --- */
@media (max-width:980px){
  .ocd .oc-el-text{text-align:center;align-items:center}
  .ocd .oc-el-text .oc-section-price-stub,
  .ocd .oc-el-text .pa-chips,
  .ocd .oc-el-text .oc-el-chips,
  .ocd .oc-el-text .oc-el-actions{justify-content:center;align-items:center}
  .ocd .oc-el-text .oc-el-chips{display:flex;flex-wrap:wrap}
  .ocd .oc-el-body{margin-left:auto;margin-right:auto}
}

/* --- Mystery Shopping: PDF AFTER text on tablet/below (override older order:-1) + no shadow --- */
@media (max-width:980px){
  .ocd .oc-mss-bleed .oc-mss-visual{order:2 !important}
  .ocd .oc-mss-text.oc-mss-reveal-c{order:1}
  .ocd .oc-mss-pdf{box-shadow:none}
}

/* --- Trust strip / "Why teams trust": center the whole grid + items on tablet/below --- */
@media (max-width:1200px){
  .ocd .oc-stats-grid{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:28px 32px}
  .ocd .oc-stats-grid > .stat-divider{display:none}
  .ocd .oc-stats-grid > *{flex:0 0 auto;min-width:180px;max-width:240px}
}
@media (max-width:560px){
  .ocd .oc-stats-grid > *{flex:1 1 100%;max-width:none}
}

/* --- Pillar custom block: step icons bigger on tablet/below to fill the row --- */
@media (max-width:980px){
  .ocd .pa-process{max-width:680px;margin-left:auto;margin-right:auto}
  .ocd .pa-step-circle{width:88px;height:88px;border-width:4px}
  .ocd .pa-step-label{font-size:12px}
}
@media (max-width:560px){
  .ocd .pa-step-circle{width:64px;height:64px;border-width:3px}
  .ocd .pa-step-label{font-size:10.5px}
}

/* --- Reviews editorial grid: stack on tablet/mobile, fix overflow --- */
@media (max-width:980px){
  .ocd .oc-rv-editorial{grid-template-columns:1fr;grid-template-rows:auto;min-height:0;gap:18px}
  .ocd .oc-rv-big{grid-row:auto;min-height:480px}
  .ocd .oc-rv-big .big-quote{font-size:20px;max-width:none}
  .ocd .oc-rv-big .big-body{padding:28px 24px}
}
@media (max-width:560px){
  .ocd .oc-rv-big{min-height:auto;padding:0}
  .ocd .oc-rv-big img{height:240px;position:relative;display:block}
  .ocd .oc-rv-big::before{top:0;height:240px;background:linear-gradient(180deg,transparent 0%,rgba(43,39,35,.85) 100%)}
  .ocd .oc-rv-big{background:#2b2723;display:block}
  .ocd .oc-rv-big .big-meta-pill{top:14px;left:14px;padding:6px 12px;font-size:9.5px}
  .ocd .oc-rv-big .big-stars{top:14px;right:14px}
  .ocd .oc-rv-big .big-stars svg{width:14px;height:14px}
  .ocd .oc-rv-big .big-body{padding:20px 18px 22px;position:relative;z-index:2}
  .ocd .oc-rv-big .big-quote{font-size:17px;line-height:1.3;margin-bottom:16px;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}
  .ocd .oc-rv-big .big-pname{font-size:10px;letter-spacing:.18em;margin-bottom:10px}
  .ocd .oc-rv-big .big-author{padding-top:14px;gap:10px}
  .ocd .oc-rv-big .big-avatar{width:54px;height:54px;font-size:20px;border-width:2px}
  .ocd .oc-rv-big .big-name{font-size:13.5px}
}

/* --- Hero approval-flow graphic: cap parent container, prevent overflow trapping --- */
.ocd .ocd-approval-flow.in-hero{overflow:hidden;max-width:100vw}
.ocd .ocd-approval-flow .flow-stage{max-width:100vw;padding:0}
.ocd .ocd-approval-flow.in-hero .flow-stage-v2{
  --fs-scale:clamp(.28, calc((100vw - 160px) / 1180px), 1) !important;
  margin-bottom:calc((var(--fs-scale) - 1) * 760px) !important;
}
@media (max-width:1280px){
  .ocd .ocd-approval-flow.in-hero .flow-stage-v2{--fs-scale:clamp(.32, calc((100vw - 180px) / 1180px), .82) !important}
}
@media (max-width:980px){
  .ocd .ocd-approval-flow.in-hero .flow-stage-v2{--fs-scale:clamp(.32, calc((100vw - 120px) / 1180px), .72) !important}
}
@media (max-width:768px){
  .ocd .ocd-approval-flow.in-hero .flow-stage-v2{--fs-scale:clamp(.32, calc((100vw - 80px) / 1180px), .60) !important}
}
/* Hide hero approval-flow graphic entirely on mobile */
@media (max-width:560px){
  .ocd .ocd-approval-flow.in-hero{display:none}
}

/* --- Karyn Google review pill: center on mobile --- */
@media (max-width:560px){
  .ocd .oc-rein-gr{margin-left:auto !important;margin-right:auto !important}
}

/* --- Page-level horizontal overflow guard so no fixed-width child can bleed past viewport --- */
.ocd{overflow-x:hidden}

/* ===== 2026-05-21 perf + accessibility additions ===== */

/* Compositor hint for the high-frequency gradient-shift animation (38 selectors use it).
   `will-change: background-position` promotes these elements to their own compositor layer
   so the background-position animation runs on the GPU instead of the main thread. */
.ocd .pop-italic,
.ocd .btn-primary,
.ocd .flow-footnote strong,
.ocd .oc-sig-cta,
.ocd .oc-send,
.ocd .oc-mq-h em,
.ocd .approved-by-stamp,
.ocd .pa-aqo-eyebrow em,
.ocd .oc-rein-cta { will-change: background-position }

/* Respect the user's reduced-motion preference (vestibular disorders, motion sensitivity).
   Disables all the infinite-loop animations and transitions on the homepage without affecting
   layout. Uses 0.001ms instead of 0 so JS animationend events still fire. */
@media (prefers-reduced-motion: reduce) {
  .ocd *,
  .ocd *::before,
  .ocd *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 2026-06-24 REMOVED the `.ocd img[width][height]{height:auto}` guard (added 2026-05-21 as a CLS fix).
   It was redundant with the global `img{height:auto}` (browsers already derive the aspect-ratio from
   the width/height attributes for CLS), but its (0,3,1) specificity OVERRODE component image heights,
   forcing them back to natural size: the email-card and mystery-report-card logos rendered huge and
   the .oc-el-mock-video / .oc-rv-big posters stopped filling their frames. Removing it lets each
   component's own sizing win again. The .mq-track override below is now redundant but kept (harmless). */

/* ===== HOMEPAGE FIXES (appended after .ocd img[width][height]{height:auto} so these win) ===== */
/* ISSUE 1: logo marquee: some logos collapsed to invisible slivers because the global
   img[width][height]{height:auto} rule + (often wrong) injected width/height attrs forced a
   broken aspect ratio. Normalize every logo into a uniform 112x48 cell and let object-fit:contain
   place it at its true proportions. (0,3,1) specificity + late source order beats height:auto. */
.ocd .mq-perspective-final .mq-track img,
.ocd .mq-perspective .mq-track img{
  height:48px; width:112px; max-width:112px;
  object-fit:contain; object-position:center;
  opacity:.6; filter:grayscale(1);
}
/* ISSUE 4 (KJ 2026-06-23: phone flush at ALL widths): the dark reinforcement section kept its
   "valign-centre" bottom padding on desktop/tablet, leaving a gap below the phone. Zero the bottom
   padding at every width so the phone sits flush to the section bottom (the <=980 rule already did this). */
.ocd .oc-rein{ padding-bottom:0 }
/* ISSUE 5 (KJ 2026-06-24): trim the dark reinforcement section's TOP space by ~15%
   (desktop top padding 104px -> 76px; mobile floor unchanged). Appended so it wins source order. */
.ocd .oc-rein{ padding-top: clamp(64px,8vw,76px) }
