/* C Pay uses the shared portfolio type, spacing, chapter navigation and theme. */
.cpay-page{background:var(--page);color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif}
.cpay-opening{max-width:1600px;margin:auto;padding:108px clamp(24px,4.7vw,72px) 20px;box-sizing:border-box}
.cpay-film{margin:32px 0;position:relative;overflow:hidden;border-radius:24px;background:#10172e;aspect-ratio:16/9}
.cpay-film video{display:block;width:100%;height:100%;object-fit:contain;background:#10172e}
.cpay-film-hero{margin:0}.cpay-film [data-video-status]{position:absolute;bottom:28px;left:24px;right:24px;background:#111c;color:white!important;padding:12px;border-radius:12px;font-size:14px!important}
.cpay-intro{padding:64px 0 48px;max-width:950px}
.cpay-intro h1{font-size:clamp(44px,6.2vw,88px);font-weight:600;letter-spacing:-.055em;line-height:1.02;margin:20px 0 28px}
.cpay-intro>p:not(.portfolio-eyebrow){font-size:clamp(19px,2.2vw,26px);line-height:1.45;color:var(--muted);margin:0 0 28px}
.cpay-meta{display:flex;gap:12px 24px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:28px 0}
.cpay-intro>a,.cpay-back{color:var(--ink);text-decoration:none;font-size:15px;display:inline-block;padding-block:12px}
.cpay-opening-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cpay-photo{min-width:0;margin:24px 0;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:var(--surface)}
.cpay-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.cpay-photo.is-loading{animation:cpay-load 1.8s ease-in-out infinite}.cpay-photo.is-loading img{opacity:0}
.cpay-opening-scenes .cpay-photo{margin:0;border-radius:18px}
.cpay-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}
.cpay-principles article{min-width:0;padding:24px 0;border-top:1px solid var(--line)}
body #main .cpay-principles h3{font-size:19px!important;line-height:1.3!important}
body #main .cpay-principles p{font-size:15px!important;line-height:1.55!important}
.cpay-story{background:var(--page);color:var(--ink)}
.cpay-gallery .mc-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;direction:ltr;position:relative}
.cpay-gallery .mc-slide{flex:0 0 94%;scroll-snap-align:start;margin:0;min-width:0}
.cpay-gallery .mc-carousel-controls{display:flex;align-items:center;justify-content:space-between;margin:14px 0 30px;color:var(--muted);font-size:13px}
.cpay-gallery .mc-carousel-controls>div{display:flex;gap:8px}
.cpay-gallery .mc-carousel-controls button{border:0;border-radius:50%;width:36px;height:36px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:18px}
.cpay-gallery .mc-carousel-controls button:disabled{opacity:.3;cursor:default}
.cpay-prototype{margin-top:30px}.cpay-prototype-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cpay-prototype-tools :is(a,button){font:inherit;font-size:14px;padding:13px 18px;min-height:44px;border:0;border-radius:99px;background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer}
body #main .cpay-prototype .cpay-demo-note{font-size:13px!important;line-height:1.6!important;margin:16px 0!important;color:var(--muted)!important}
.cpay-prototype-stage{height:min(760px,80svh);min-height:480px;border-radius:20px;overflow:hidden;background:#e7ecfc;margin-top:20px;position:relative}
.cpay-prototype iframe{width:100%;height:100%;border:0;display:block;background:#e7ecfc}
.cpay-prototype-stage::before{content:'Loading original prototype…';position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-size:14px;color:#3f3d6b}.cpay-prototype-stage.is-ready::before{display:none}
body #main .cpay-credits{font-size:13px!important;line-height:1.8!important;color:var(--muted)!important}
.cpay-page :is(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@keyframes cpay-load{50%{opacity:.55}}
@media(max-width:1023px){.cpay-opening{padding:100px 24px 16px}.cpay-opening-scenes{gap:12px}.cpay-intro{padding:40px 0}.cpay-film{border-radius:18px}.cpay-principles{gap:16px}}
@media(max-width:640px){.cpay-opening-scenes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cpay-opening-scenes .cpay-photo{flex:0 0 88%;scroll-snap-align:start}.cpay-principles{grid-template-columns:1fr;gap:0}.cpay-principles article{padding:20px 0}.cpay-gallery .mc-slide{flex-basis:94%}.cpay-photo{border-radius:18px}.cpay-prototype-stage{min-height:560px;height:72svh}.cpay-intro h1{font-size:52px}.cpay-meta{font-size:12px;gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.cpay-photo.is-loading{animation:none}.cpay-photo img{transition:none}}

.cpay-bento{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:18px;margin:32px 0;align-items:stretch}
.cpay-bento .cpay-photo{margin:0;height:100%;aspect-ratio:auto}
.cpay-bento .cpay-photo:nth-child(1){grid-row:span 2;min-height:480px}
.cpay-bento .cpay-photo:nth-child(2){aspect-ratio:1}
.cpay-bento .cpay-photo:nth-child(3){aspect-ratio:16/9}
.cpay-bento .cpay-photo:nth-child(4){grid-column:1/-1;aspect-ratio:16/9}
.cpay-bento .cpay-photo:nth-child(1) img{object-fit:cover;object-position:center}
@media(max-width:640px){.cpay-bento{gap:12px}.cpay-bento .cpay-photo:nth-child(1){min-height:280px}.cpay-bento .cpay-photo{border-radius:16px}}
.cpay-film-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;border:0;background:#0002;color:#fff;font:500 16px Inter,Arial,sans-serif;cursor:pointer}.cpay-film-start[hidden]{display:none}.cpay-film-start span{padding:12px 18px;background:#1119;backdrop-filter:blur(12px);border-radius:99px}
@media(max-width:1023px){body.cpay-page .portfolio-header .portfolio-menu-button{display:flex!important;visibility:visible!important}}
