/* Pitch deck template page. Shares the .ovc-deck design system from pitch-deck-design/styles.css
   and only adds the sections that page does not have. */

.ovc-deck .ovc-section-lead { max-width: 660px; margin: 18px auto 0; color: var(--ovc-text); font-size: 1.1875rem; line-height: 1.6; text-align: center; }
.ovc-deck .ovc-testimonials__grid { align-items: start; }

.ovc-deck .ovc-testimonial__source { display: grid; place-items: center; width: 36px; height: 36px; margin-left: auto; color: var(--ovc-ink); border-radius: 6px; }
.ovc-deck .ovc-testimonial__source svg { width: 20px; height: 20px; }
.ovc-deck .ovc-testimonial__mention { color: var(--ovc-pink); text-decoration: none; }
.ovc-deck .ovc-testimonial figcaption > div { min-width: 0; }

.ovc-deck .ovc-features__layout { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 600px); justify-content: center; align-items: center; gap: 56px; }
.ovc-deck .ovc-features__title { color: var(--ovc-ink); font-size: var(--ovc-heading-size); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; text-wrap: balance; }
.ovc-deck .ovc-feature-list { display: grid; gap: 26px; margin-top: 36px; list-style: none; }
.ovc-deck .ovc-feature-list li { display: flex; align-items: flex-start; gap: 20px; }
.ovc-deck .ovc-feature-list h3 { margin-bottom: 4px; font-size: 1.375rem; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; }
.ovc-deck .ovc-feature-list p { color: var(--ovc-text); font-size: 1.0625rem; line-height: 1.5; }
.ovc-deck .ovc-check { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: var(--ovc-pink); }
.ovc-deck .ovc-check svg { width: 22px; height: 22px; stroke: #fff; stroke-width: 2.6; }
.ovc-deck .ovc-features__preview { overflow: hidden; background: #fff; border: 1px solid var(--ovc-line); border-radius: 12px; box-shadow: 0 20px 50px rgba(80, 20, 50, .08), 0 2px 8px rgba(23, 23, 23, .04); }
.ovc-deck .ovc-features__preview img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

.ovc-deck .ovc-experience { padding-top: 0; }
.ovc-deck .ovc-experience__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 64px; max-width: 1056px; }
.ovc-deck .ovc-experience__stat { padding: 28px 24px 36px; text-align: center; }
.ovc-deck .ovc-deck-stack { position: relative; aspect-ratio: 20 / 9; max-width: 400px; margin: 0 auto 16px; }
.ovc-deck .ovc-deck-stack img { position: absolute; top: 22px; left: 19%; width: 62%; height: auto; aspect-ratio: 16 / 9; border: 1px solid var(--ovc-line); border-radius: 4px; background: #fff; box-shadow: 0 9px 20px rgba(66, 40, 62, .1); }
.ovc-deck .ovc-deck-stack img:nth-child(1) { --ovc-deck-shift: -22%; --ovc-deck-rotation: -13deg; transform: translateX(-22%) rotate(-13deg); z-index: 1; }
.ovc-deck .ovc-deck-stack img:nth-child(2) { --ovc-deck-shift: 22%; --ovc-deck-rotation: 12deg; transform: translateX(22%) rotate(12deg); z-index: 2; }
.ovc-deck .ovc-deck-stack img:nth-child(3) { --ovc-deck-shift: 0%; --ovc-deck-rotation: -2deg; top: 32px; transform: rotate(-2deg); z-index: 3; }
.ovc-deck .ovc-experience__number { margin-bottom: 12px; font-size: clamp(3rem, 5.6vw, 4.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -.05em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ovc-deck .ovc-experience__number span { color: var(--ovc-pink); font-size: .68em; vertical-align: top; line-height: 1.25; }
.ovc-deck .ovc-experience__caption { color: var(--ovc-text); font-size: 1.1875rem; line-height: 1.55; }
.ovc-deck .ovc-experience__copy { max-width: 400px; margin-top: 24px; color: var(--ovc-text); font-size: 1.1875rem; line-height: 1.6; }

.ovc-deck .ovc-cta-banner { padding-top: 0; }
.ovc-deck .ovc-cta-banner__layout { display: flex; align-items: center; justify-content: space-between; gap: 36px; max-width: 1056px; padding-block: 36px; border-block: 1px solid var(--ovc-line); }
.ovc-deck .ovc-cta-banner h2 { color: var(--ovc-ink); font-size: 2.125rem; font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.ovc-deck .ovc-cta-banner p { margin-top: 14px; color: var(--ovc-text); font-size: 1.0625rem; line-height: 1.6; }
.ovc-deck .ovc-cta-banner .ovc-button { flex: none; }

/* Hero fan: three visible cards on desktop, a native swipe gallery on mobile. */
.ovc-deck .ovc-fan { position: relative; max-width: 1130px; margin: 38px auto 0; padding-inline: 15px; isolation: isolate; }
.ovc-deck .ovc-fan__card { position: relative; min-width: 0; }
.ovc-deck .ovc-fan__card[hidden], .ovc-deck .ovc-fan__control[hidden] { display: none; }
.ovc-deck .ovc-fan__card figcaption { margin: 14px 7px 0; color: var(--ovc-muted); font-size: 1rem; line-height: 1.35; text-align: center; }
.ovc-deck .ovc-fan__preview { background: #fff; border: 1px solid var(--ovc-line); border-radius: 12px; overflow: hidden; box-shadow: 0 5px 16px rgba(15, 25, 40, .075); }
.ovc-deck .ovc-fan__preview img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.ovc-deck .ovc-fan__control { position: absolute; inset: 0; padding: 0; border: 0; border-radius: 12px; background: transparent; cursor: pointer; }
.ovc-deck .ovc-fan__control:focus:not(:focus-visible), .ovc-deck .ovc-fan:focus:not(:focus-visible) { outline: none; }
.ovc-deck .ovc-fan__control:focus-visible { outline: 3px solid var(--ovc-pink); outline-offset: 5px; }
.ovc-deck .ovc-fan:focus-visible { outline: 3px solid var(--ovc-pink); outline-offset: 5px; }
.ovc-deck .ovc-gallery-controls { display: none; }
.ovc-deck .ovc-gallery-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ovc-line); border-radius: 50%; background: #fff; color: var(--ovc-ink); cursor: pointer; }
.ovc-deck .ovc-gallery-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ovc-deck .ovc-gallery-arrow:disabled { opacity: .3; cursor: default; }
.ovc-deck .ovc-gallery-arrow:focus-visible { outline: 3px solid var(--ovc-pink); outline-offset: 5px; }
.ovc-deck .ovc-gallery-position { min-width: 48px; color: var(--ovc-muted); font-size: .8125rem; text-align: center; font-variant-numeric: tabular-nums; }

@media (min-width: 721px) {
  .ovc-deck .ovc-fan { display: block; aspect-ratio: 2.35; }
  .ovc-deck .ovc-fan__card { position: absolute; top: 16%; left: 27%; z-index: 1; width: 46%; transform: rotate(var(--ovc-fan-angle, 0deg)); transform-origin: center; }
  .ovc-deck .ovc-fan__card[data-slot="center"] { --ovc-fan-angle: 0deg; top: 3%; left: 19%; z-index: 3; width: 62%; }
  .ovc-deck .ovc-fan__card[data-slot="left"] { --ovc-fan-angle: -5deg; left: 2%; z-index: 1; }
  .ovc-deck .ovc-fan__card[data-slot="right"] { --ovc-fan-angle: 5deg; left: 52%; z-index: 2; }
  .ovc-deck .ovc-fan__card[data-slot="left"] figcaption { padding-left: 8px; text-align: left; }
  .ovc-deck .ovc-fan__card[data-slot="right"] figcaption { padding-right: 8px; text-align: right; }
  .ovc-deck .ovc-fan__card[data-slot="center"] .ovc-fan__preview { box-shadow: 0 22px 48px rgba(15, 25, 40, .16); }
  .ovc-deck .ovc-fan:not(.is-rotating) .ovc-fan__card[data-slot="left"]:focus-within { transform: translateX(-18px) rotate(-5deg); }
  .ovc-deck .ovc-fan:not(.is-rotating) .ovc-fan__card[data-slot="right"]:focus-within { transform: translateX(18px) rotate(5deg); }
  .ovc-deck .ovc-fan__card[data-exiting="left"], .ovc-deck .ovc-fan__card[data-entering="left"] { opacity: 0; transform: translateX(-18px) rotate(-8deg) scale(.94); }
  .ovc-deck .ovc-fan__card[data-exiting="right"], .ovc-deck .ovc-fan__card[data-entering="right"] { opacity: 0; transform: translateX(18px) rotate(8deg) scale(.94); }
  .ovc-deck .ovc-fan.is-rotating .ovc-fan__control { pointer-events: none; }
}
@media (min-width: 721px) and (hover: hover) and (pointer: fine) {
  .ovc-deck .ovc-fan:not(.is-rotating) .ovc-fan__card[data-slot="left"]:hover { transform: translateX(-18px) rotate(-5deg); }
  .ovc-deck .ovc-fan:not(.is-rotating) .ovc-fan__card[data-slot="right"]:hover { transform: translateX(18px) rotate(5deg); }
}
@media (max-width: 720px) {
  .ovc-deck .ovc-fan { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 18px; max-width: 600px; margin-top: 36px; padding: 8px 17px 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 17px; scrollbar-width: thin; }
  .ovc-deck .ovc-fan__card { scroll-snap-align: start; scroll-snap-stop: always; }
  .ovc-deck .ovc-fan__card:last-child { scroll-snap-align: end; }
  .ovc-deck .ovc-fan__card figcaption { font-size: .875rem; }
  .ovc-deck .ovc-fan__control { display: none; }
  .ovc-deck .ovc-gallery-controls:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 10px; }
}

/* Scroll reveals for "More than slide layouts" and "Our experience". */
@keyframes ovc-check-pop { 0% { transform: scale(.7); } 65% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes ovc-draw-check { from { stroke-dashoffset: 24; } to { stroke-dashoffset: 0; } }
@keyframes ovc-deck-fan { from { opacity: 0; transform: translateX(0) translateY(20px) rotate(0); } to { opacity: 1; transform: translateX(var(--ovc-deck-shift)) translateY(0) rotate(var(--ovc-deck-rotation)); } }

@media (prefers-reduced-motion: no-preference) {
  .ovc-deck .ovc-fan__card { transition: transform .28s cubic-bezier(.2, .7, .2, 1); }
  .ovc-deck .ovc-fan.is-rotating .ovc-fan__card { transition: left .42s cubic-bezier(.2, .7, .2, 1), top .42s cubic-bezier(.2, .7, .2, 1), width .42s cubic-bezier(.2, .7, .2, 1), transform .42s cubic-bezier(.2, .7, .2, 1), opacity .18s ease; }
  .ovc-deck .ovc-fan.is-rotating .ovc-fan__card[data-arriving] { transition: transform .24s cubic-bezier(.2, .7, .2, 1), opacity .12s ease; }
  .ovc-deck .ovc-fan.is-rotating .ovc-fan__card[data-exiting] { transition: transform .06s ease, opacity .06s ease; }
  .ovc-deck .ovc-gallery-arrow { transition: transform .2s ease, border-color .2s ease, color .2s ease; }
  .ovc-deck .ovc-gallery-arrow:active:not(:disabled) { transform: scale(.92); }

  .ovc-deck .ovc-reveal-ready { opacity: 0; translate: 0 22px; transition: opacity .65s ease, translate .65s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ovc-reveal-delay, 0ms); }
  .ovc-deck .ovc-reveal-ready.is-visible { opacity: 1; translate: 0 0; }
  .ovc-deck .ovc-features__preview.ovc-reveal-ready { transition: opacity .65s ease, translate .65s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, transform .35s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ovc-reveal-delay, 0ms), var(--ovc-reveal-delay, 0ms), 0ms, 0ms; }
  .ovc-deck .ovc-features__preview { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; transform-origin: center; }
  .ovc-deck .ovc-feature-list li.is-visible .ovc-check { animation: ovc-check-pop .5s cubic-bezier(.2, .7, .2, 1) calc(var(--ovc-reveal-delay, 0ms) + .12s) backwards; }
  .ovc-deck .ovc-feature-list li.is-visible .ovc-check svg { stroke-dasharray: 24; animation: ovc-draw-check .45s ease-out calc(var(--ovc-reveal-delay, 0ms) + .25s) both; }
  .ovc-deck .ovc-check { transition: transform .25s ease; }
  .ovc-deck .ovc-experience__stat.is-visible .ovc-deck-stack img { animation: ovc-deck-fan .9s cubic-bezier(.16, 1, .3, 1) .15s backwards; }
  .ovc-deck .ovc-experience__stat.is-visible .ovc-deck-stack img:nth-child(2) { animation-delay: .25s; }
  .ovc-deck .ovc-experience__stat.is-visible .ovc-deck-stack img:nth-child(3) { animation-delay: .35s; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ovc-deck .ovc-features__preview:hover { transform: perspective(900px) rotateX(var(--ovc-tilt-x, 0deg)) rotateY(var(--ovc-tilt-y, 0deg)) translateY(-6px) scale(1.01); box-shadow: 0 16px 32px rgba(15, 25, 40, .14); }
  .ovc-deck .ovc-feature-list li:hover .ovc-check { transform: scale(1.08); }
}
@media print { .ovc-deck .ovc-reveal-ready { opacity: 1 !important; translate: none !important; } }
@media (max-width: 900px) {
  .ovc-deck .ovc-features__layout { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; gap: 32px; }
  .ovc-deck .ovc-feature-list { margin-top: 28px; }
  .ovc-deck .ovc-experience { padding-top: 0; }
  .ovc-deck .ovc-experience__layout { grid-template-columns: 1fr; max-width: 560px; gap: 32px; }
  .ovc-deck .ovc-cta-banner__layout { flex-direction: column; gap: 24px; padding-block: 32px; text-align: center; }
  .ovc-deck .ovc-section-lead, .ovc-deck .ovc-experience__caption, .ovc-deck .ovc-experience__copy { font-size: 1.0625rem; }
}
@media (hover: hover) {
  .ovc-deck .ovc-testimonial__source:hover, .ovc-deck .ovc-testimonial__mention:hover { color: var(--ovc-pink); }
}