/* Original Pika type, palette and utility stylesheet are bundled locally. */
html { scroll-behavior:auto; scroll-padding-top:96px; }
body { overflow-x:clip; }
[hidden] { display:none!important; }
button, a, summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.site-header { position:fixed; z-index:100; inset:24px 24px auto; display:flex; align-items:center; justify-content:space-between; pointer-events:none; color:#fff; transition:color .3s; }
.site-header > * { pointer-events:auto; }
.site-logo { display:block; width:64px; }
.site-logo svg { width:100%; height:auto; fill:currentColor; }
.site-logo path { fill:currentColor; }
.site-header.on-light { color:#333330; }
.try-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 26px; border-radius:999px; background:#fff; color:#171715; font-size:16px; font-weight:500; line-height:1.3; white-space:nowrap; text-decoration:none; transition:background .22s, color .22s, transform .22s; }
.try-button:hover { background:#e9e8e3; transform:translateY(-2px); }
.try-button:active { transform:scale(.97); }
.header-try { min-height:40px; padding:10px 22px; font-size:14px; }
.on-light .header-try, .try-button.dark { background:#333330; color:#fff; }
.on-light .header-try:hover,.try-button.dark:hover { background:#55554e; }
#top { display:flex; flex-direction:column; min-height:calc(100svh - 8px); padding-inline:clamp(20px,6vw,128px); }
.hero-content { width:100%; max-width:1746px; min-height:0; flex:1; margin:0 auto; display:flex; align-items:flex-end; justify-content:space-between; padding:clamp(104px,14svh,180px) 0 clamp(24px,4svh,48px); gap:24px; }
.hero-content h1 { min-width:0; flex:1; margin:0; font-family:var(--font-display),sans-serif; font-weight:500; font-size:clamp(88px,min(16vw,27svh),290px); letter-spacing:-.075em; line-height:.82; animation:hero-arrive 1s cubic-bezier(.16,1,.3,1) both; }
.hero-brand { display:block; }
.hero-headline { display:block; max-width:22ch; margin-top:clamp(16px,2.4svh,28px); font-size:clamp(24px,min(3vw,5svh),48px); font-weight:400; letter-spacing:-.025em; line-height:1.15; text-wrap:balance; }
.hero-try { flex-shrink:0; margin:0 0 5px; animation:hero-arrive 1s .12s both; }
.hero-model-wrap { width:100%; max-width:1746px; flex:none; margin:0 auto; padding-bottom:clamp(16px,2.4svh,28px); }
.hero-model-strip { display:flex; flex-direction:column; min-width:0; gap:clamp(12px,1.8svh,20px); margin:0; border-top:1px solid #ffffff40; padding-top:clamp(16px,2.4svh,28px); }
.hero-model-strip > p { font-size:12px; line-height:1.4; }
.hero-model-viewport { width:100%; min-width:0; }
.hero-model-strip ul { gap:clamp(24px,3vw,48px); padding-right:clamp(24px,3vw,48px); }
.hero-model-strip li { font-size:clamp(14px,1.1vw,16px); line-height:1.4; }
.hero-model-strip img { width:22px; height:22px; }
footer a { overflow-wrap:anywhere; }
@keyframes hero-arrive { from {opacity:0;transform:translateY(35px);filter:blur(8px)} to {opacity:1;transform:none;filter:blur(0)} }
.page-section { padding:clamp(88px,7.5vw,144px) 24px 80px; }
.section-intro { max-width:760px; margin:0 auto; text-align:center; }
.section-intro h2,.closing-cta h2,.faq-heading h2 { color:#171715; font-family:var(--font-display),sans-serif; font-weight:500; font-size:clamp(32px,3.75vw,72px); line-height:1.04; letter-spacing:.01em; text-transform:uppercase; }
.section-intro h2 { min-height:2.08em; }
.section-intro p { max-width:530px; margin:24px auto 0; color:#93938e; font-size:20px; font-weight:400; line-height:1.25; text-wrap:pretty; }
.apps-layout { max-width:1746px; width:87%; margin:80px auto 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:16px; }
.app-stage { position:sticky; top:max(96px,calc((100vh - 33vw)/2)); aspect-ratio:4/3; isolation:isolate; border-radius:16px; background:#f0efeb; }
.app-visual { position:absolute; inset:0; overflow:hidden; border-radius:16px; background:#f0efeb; opacity:0; transition:opacity .32s ease; pointer-events:none; }
.app-visual.is-active { opacity:1; z-index:2; }
.app-visual img,.app-visual video { width:100%;height:100%;object-fit:cover; }
.app-list { display:flex; flex-direction:column; gap:16px; }
.app-card { border-radius:16px; background:#f0efeb; min-height:0; padding:24px; display:flex; flex-direction:column; transition:background .25s ease; }
.app-card.is-active { background:#e9e8e2; }
.app-selector { cursor:pointer; text-align:left; display:flex; flex:none; align-items:center; width:100%; min-height:56px; gap:16px; }
.app-selector img { width:56px; height:56px; flex:none; border-radius:12px; }
.app-selector h3 { font-size:28px; font-weight:400; line-height:1.2; color:#343431; }
.app-detail { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease; }
.app-card.is-active .app-detail { grid-template-rows:1fr; opacity:1; }
.app-detail-inner { min-height:0; overflow:hidden; padding-left:72px; }
.app-detail p { font-size:20px; font-weight:400; color:#85857e; line-height:1.4; padding-top:16px; }
.text-try { padding:10px 0 0; min-height:40px; border-radius:0; background:transparent; justify-content:flex-start; text-decoration:underline; text-underline-offset:5px; color:#484841; }
.text-try:hover { background:transparent; }
.mobile-app-media { display:none; }
.section-bottom { text-align:center; margin-top:48px; }
.workflow-tabs { display:flex; justify-content:center; gap:4px; border-radius:999px; background:#eeede8; width:max-content; max-width:100%; margin:40px auto; padding:4px; }
.workflow-tabs button { padding:12px 23px; min-height:44px; border-radius:999px; color:#75756f; cursor:pointer; font-size:14px; font-weight:500; transition:color .25s,background .25s; }
.workflow-tabs button[aria-selected=true] { color:#fff; background:#343431; }
.workflow-grid { width:87%; max-width:1746px; margin:auto; display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); grid-auto-rows:min(25vw,480px); gap:12px; }
.workflow-tile { position:relative; border-radius:16px; overflow:hidden; background:#e7e6e1; grid-column:span 5; isolation:isolate; animation:tile-enter .6s both; }
.workflow-tile:nth-child(2) { animation-delay:.05s; }.workflow-tile:nth-child(3) {animation-delay:.1s}.workflow-tile:nth-child(4) {animation-delay:.15s}
.workflow-tile:first-child,.workflow-tile:last-child { grid-column:span 11; }
.tiles-5 .workflow-tile {grid-column:span 5}.tiles-5 .workflow-tile:first-child {grid-column:span 11}.tiles-5 .workflow-tile:last-child {grid-column:span 6}
.workflow-tile img,.workflow-tile video { width:100%;height:100%;object-fit:cover;transition:transform .7s; }
.workflow-tile:hover img,.workflow-tile:hover video { transform:scale(1.03); }
.workflow-tile::after { content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 20%,#0008);pointer-events:none; }
.tile-copy { position:absolute; inset:auto 24px 24px; z-index:2; color:white; }
.tile-copy h3 { max-width:440px;font-family:var(--font-display),sans-serif;font-size:clamp(22px,2vw,36px);line-height:1.2;margin-bottom:16px;font-weight:400; }
.try-button.glass { background:#ffffff25; color:#fff; backdrop-filter:blur(16px); }
.try-button.glass:hover { background:#ffffff45; }
@keyframes tile-enter {from {opacity:0;transform:translateY(14px)}to {opacity:1;transform:none}}
.creator-gallery h2 {padding-left:0;}
.creator-viewport {overflow-x:auto!important; scrollbar-width:none;}
.creator-track {will-change:auto;}
.creator-gallery video {opacity:1!important;}
.creator-gallery video[data-unavailable] {display:none;}
.creator-gallery li.media-error::after {content:'Pika';position:absolute;inset:0;display:grid;place-items:center;font-size:40px;color:#aaa;}
.club-section video { object-position:center; }
.club-section button[data-toggle-play] {cursor:pointer;}
#research.research-section {padding-top:clamp(72px,6vw,128px);}
.research-layout {grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,10vw,200px);max-width:1746px;width:100%;margin:auto;align-items:start;}
.research-copy {display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-width:0;}
.research-list {width:100%;display:flex;flex-direction:column;margin:0;padding:0;gap:0;}
#research .research-list a {padding-block:24px;}
.news-section {padding-bottom:clamp(64px,6vw,112px);}
.news-section .news-grid {margin-top:clamp(32px,4vw,64px);}
.news-card {opacity:1;}
@media(max-width:767px) {.research-layout {grid-template-columns:1fr;gap:36px;}.research-art {max-width:480px;width:100%;margin:auto;}.research-copy {gap:24px;}#research .research-list a {padding-block:20px;}}
.closing-cta {padding:16px 24px 96px;background:#f9f8f5;}
.cta-panel {max-width:1746px;margin:auto;padding:clamp(40px,5vw,96px);border-radius:28px;background:#20201e;color:#f7f6f0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(36px,5vw,96px);align-items:center;overflow:hidden;}
.cta-copy {position:relative;z-index:2;min-width:0;}
.cta-eyebrow {display:flex;align-items:center;gap:10px;color:#bbbcb4;font-size:14px;line-height:1.5;margin-bottom:32px;}
.cta-eyebrow>span {width:6px;height:6px;border-radius:50%;background:#dadbca;}
.closing-cta h2 {font-size:clamp(38px,4.7vw,88px);letter-spacing:-.045em;line-height:1.08;text-transform:none;color:#f7f6f0;margin:0;font-weight:500;text-wrap:balance;}
.closing-cta h2 span {color:#babcad;}
.cta-description {font-size:clamp(16px,1.2vw,21px);font-weight:400;line-height:1.55;color:#b8b9b1;margin-top:28px;}
.cta-try {gap:32px;margin-top:36px;padding:18px 24px 18px 30px;min-height:64px;font-size:18px;background:#f7f6f0;}
.cta-try svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;}
.cta-try:hover svg {transform:translateX(4px);}
.cta-art {position:relative;width:min(100%,400px);aspect-ratio:1/1.13;justify-self:center;isolation:isolate;}
.cta-frame {position:absolute;inset:5% 9%;border-radius:18px;transform-origin:50% 70%;}
.cta-frame-back {border:1px solid #66675c;background:#292a26;transform:rotate(14deg) translate(13px,-9px);animation:cta-back-sway 9s ease-in-out infinite;}
.cta-frame-middle {border:1px solid #8c8e7d;background:#44473c;transform:rotate(-11deg) translate(-12px,-3px);animation:cta-middle-sway 9s ease-in-out infinite;}
.cta-frame-front {display:flex;flex-direction:column;justify-content:space-between;padding:24px;background:#dfdfd1;color:#252621;transform:rotate(3deg);box-shadow:0 16px 32px #0003;animation:cta-front-sway 9s ease-in-out infinite;}
.cta-frame-top {display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.07em;}
.cta-frame-top>span {font-size:23px;line-height:1;}
.cta-sculpture {width:100%;height:auto;max-height:280px;flex:1;min-height:0;}
.cta-frame-brand {font-family:var(--font-display),sans-serif;letter-spacing:-.06em;font-size:60px;line-height:1;display:flex;align-items:flex-end;justify-content:space-between;}
.cta-frame-brand>span {font-family:var(--font-sans),sans-serif;letter-spacing:0;font-size:10px;line-height:2;}
@keyframes cta-front-sway {0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-9px)}}
@keyframes cta-middle-sway {0%,100%{transform:rotate(-11deg) translate(-12px,-3px)}50%{transform:rotate(-15deg) translate(-16px,-7px)}}
@keyframes cta-back-sway {0%,100%{transform:rotate(14deg) translate(13px,-9px)}50%{transform:rotate(18deg) translate(18px,-12px)}}
@media(max-width:1100px) {.cta-panel {grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;padding:48px;}.closing-cta h2 {font-size:clamp(38px,4.6vw,64px);}}
.faq-section {padding:clamp(80px,8vw,144px) max(24px,8vw);display:grid;grid-template-columns:1fr 2fr;gap:70px;max-width:2000px;margin:auto;}
.faq-heading h2 {font-size:clamp(36px,4vw,64px);overflow-wrap:anywhere;}
.faq-heading p {color:#92928c;font-size:20px;margin-top:20px;}
.faq-list {border-top:1px solid #d7d6d1;}
.faq-list details {border-bottom:1px solid #d7d6d1;}
.faq-list summary {position:relative;display:flex;justify-content:space-between;gap:24px;align-items:center;cursor:pointer;list-style:none;min-height:88px;padding:24px 0;font-size:20px;line-height:1.3;color:#343431;}
.faq-list summary::-webkit-details-marker {display:none;}
.faq-plus {width:20px;height:20px;flex-shrink:0;position:relative;}
.faq-plus::before,.faq-plus::after {content:'';position:absolute;inset:9px 0;height:2px;background:currentColor;transition:transform .25s;}
.faq-plus::after {transform:rotate(90deg);}
details[open] .faq-plus::after {transform:rotate(0);}
.faq-answer {padding:0 46px 28px 0;font-size:17px;font-weight:400;line-height:1.6;color:#777770;animation:tile-enter .25s;}
.motion-toggle {position:fixed;right:24px;bottom:24px;z-index:100;display:grid;place-items:center;width:42px;height:42px;background:#28282380;color:#fff;backdrop-filter:blur(16px);border:1px solid #ffffff35;border-radius:50%;font-size:17px;cursor:pointer;}
.motion-paused *, .motion-paused *::before,.motion-paused *::after {animation-play-state:paused!important;}
.reveal {transition:opacity .8s,translate .8s;}
.js-motion .reveal:not(.is-visible) {opacity:0!important;translate:0 24px;}
@media(max-width:1023px) {.apps-layout,.workflow-grid {width:100%;}.app-detail-inner {padding-left:0}.app-selector h3 {font-size:24px}.app-detail p {font-size:17px}.workflow-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:330px}.workflow-tile,.workflow-tile:first-child,.workflow-tile:last-child,.tiles-5 .workflow-tile,.tiles-5 .workflow-tile:first-child,.tiles-5 .workflow-tile:last-child {grid-column:span 1}.tiles-5 .workflow-tile:last-child {grid-column:span 2}.faq-section {gap:35px;grid-template-columns:1fr 2fr}}
@media(max-width:767px) {
 .site-header {inset:16px 20px auto}.site-logo {width:60px}.header-try {font-size:14px;padding:10px 18px}
 .hero-content {flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:24px;padding:104px 0 28px}.hero-content h1 {flex:none;width:100%;font-size:clamp(88px,30vw,180px)}.hero-headline {font-size:clamp(22px,5.8vw,32px);margin-top:18px}.hero-try {margin:0}
 .page-section {padding:80px 24px 50px}.section-intro h2 {font-size:clamp(25px,6.8vw,46px)}.section-intro p {font-size:16px;line-height:1.4;margin-top:20px}
 .apps-layout {display:block;margin-top:40px}.app-stage {display:none}.app-list {gap:20px}.app-card,.app-card.is-active {padding:0;min-height:0;overflow:hidden}.mobile-app-media {display:block;position:relative;aspect-ratio:4/3;width:100%}.mobile-app-media .app-visual {opacity:1;transform:none;border-radius:0;pointer-events:auto}.app-card .app-selector,.app-card:not(.is-active) .app-selector {padding:20px 20px 0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;pointer-events:none}.app-card .app-selector img {width:38px;height:38px;border-radius:8px}.app-card .app-selector h3 {font-size:23px}.app-card .app-detail {display:block;opacity:1;padding:0 20px 20px}.app-detail-inner {overflow:visible;padding-left:0}.app-detail p {font-size:16px}.text-try {font-size:14px}
 .workflow-tabs {border-radius:24px;flex-wrap:wrap;width:100%;gap:2px}.workflow-tabs button {padding:10px 13px;font-size:14px}.workflow-grid {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 0 10px}.workflow-tile {flex:0 0 88%;height:440px;scroll-snap-align:start}.tile-copy {inset:auto 20px 24px}.tile-copy h3 {font-size:25px}.creator-gallery {--creator-tile-height:180px!important}
 .closing-cta {padding:0 16px 56px}.cta-panel {grid-template-columns:1fr;gap:40px;padding:36px 24px;border-radius:24px}.cta-eyebrow {margin-bottom:24px;font-size:12px}.closing-cta h2 {font-size:clamp(34px,7.8vw,54px);letter-spacing:-.035em}.cta-description {font-size:16px;margin-top:24px}.cta-description br {display:none}.cta-try {margin-top:28px;min-height:56px;font-size:16px;padding:14px 20px 14px 24px;gap:32px}.cta-art {width:min(100%,300px);}.cta-frame-front {padding:20px}.cta-frame-brand {font-size:52px}.faq-section {display:block;padding:70px 24px}.faq-heading {margin-bottom:36px}.faq-heading h2 {font-size:44px}.faq-heading p {font-size:17px;margin-top:12px}.faq-list summary {font-size:18px;min-height:80px;gap:18px}.faq-answer {font-size:16px;padding-right:24px}.motion-toggle {right:16px;bottom:16px;width:38px;height:38px}
 .club-scroll {height:auto!important}.club-progress {--p:1!important}.club-section .sticky {position:relative!important}.club-section video {height:100%!important}
}
@media(max-height:600px) and (orientation:landscape) {
 .hero-content {flex-direction:row;align-items:flex-end;gap:20px;padding:88px 0 20px}.hero-content h1 {flex:1;width:auto;font-size:clamp(64px,min(16vw,24svh),140px)}.hero-headline {font-size:clamp(18px,min(3vw,5svh),28px);margin-top:12px}.hero-model-strip {gap:10px;padding-top:12px}.hero-model-wrap {padding-bottom:12px}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}.reveal {opacity:1!important;translate:none!important}.club-scroll {height:auto!important}.club-progress {--p:1!important}.club-section .sticky {position:relative!important}
}
