/* Rockenberg Studio website. Tokens and components come from the Rockenberg Studio design system. */

@font-face{font-family:"Montserrat";src:url("fonts/Montserrat.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{color-scheme:light;--brand-black:#141414;--brand-white:#ffffff;--brand-graphite:#3a3a3a;--brand-fog:#d4d4d4;--brand-silver:#a3a3a3;--brand-slate:#595959;--canvas:var(--brand-white);--band:#f5f5f5;--raised:#ffffff;--inverse:var(--brand-black);--ink:var(--brand-black);--ink-secondary:#404040;--ink-muted:var(--brand-slate);--on-inverse:#ffffff;--on-inverse-muted:#bdbdbd;--hairline:var(--brand-fog);--control-outline:#8a8a8a;--action:var(--brand-black);--on-action:var(--brand-white);--action-hover:#333333;--link:var(--brand-black);--signal:#b64400;--focus-ring:var(--brand-black);--nav-glass:rgba(255,255,255,0.82);--media-well:#ededed;--ring-hairline:0 0 0 1px #d4d4d4;--ring-control:inset 0 0 0 1.5px #141414;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--gutter:22px;--radius-none:0;--radius-sm:10px;--radius-nav:20px;--radius-card:28px;--radius-device:44px;--radius-icon:22.5%;--radius-pill:999px;--watermark-light:0.05;--watermark-dark:0.07;--nav-height:48px;--content-max:980px;--band-max:1200px;--icon-app:72px;--font-sans:Montserrat, "Helvetica Neue", Arial, sans-serif}
:root[data-theme="dark"]{--brand-black:#141414;--brand-white:#ffffff;--brand-graphite:#3a3a3a;--brand-fog:#d4d4d4;--brand-silver:#a3a3a3;--brand-slate:#595959;--canvas:var(--brand-black);--band:#1c1c1c;--raised:#262626;--inverse:#0a0a0a;--ink:var(--brand-white);--ink-secondary:#bdbdbd;--ink-muted:var(--brand-silver);--on-inverse:#ffffff;--on-inverse-muted:#bdbdbd;--hairline:var(--brand-graphite);--control-outline:#7a7a7a;--action:var(--brand-white);--on-action:var(--brand-black);--action-hover:#e0e0e0;--link:var(--brand-white);--signal:#ff8f4d;--focus-ring:var(--brand-white);--nav-glass:rgba(20,20,20,0.82);--media-well:#303030;--ring-hairline:0 0 0 1px #3a3a3a;--ring-control:inset 0 0 0 1.5px #ffffff;}

/* Rockenberg Studio — landing page components. Plain CSS, class prefix rk-. Needs tokens.css first. */
:root{--rk-mark:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 171 146%22%3E%3Cpath fill=%22black%22 fill-rule=%22evenodd%22 d=%22M6.879,139.861C6.285,139.624 6.215,139.110 6.671,138.323C6.834,138.042 7.883,136.097 9.001,134.000C11.016,130.220 11.985,128.555 14.273,124.938C14.925,123.906 16.151,121.966 16.996,120.625C18.518,118.210 19.343,116.979 21.062,114.562C21.551,113.875 22.972,111.850 24.220,110.062C25.469,108.275 27.372,105.716 28.449,104.375C29.526,103.034 30.780,101.462 31.235,100.881C32.720,98.985 35.140,96.108 37.181,93.812C41.474,88.985 43.193,87.153 47.486,82.832C56.359,73.902 66.271,65.386 74.750,59.409C75.747,58.706 77.434,57.514 78.500,56.760C81.707,54.489 84.542,52.614 87.312,50.932C92.992,47.482 94.717,46.448 95.438,46.058C95.850,45.835 97.453,44.963 99.000,44.122C104.527,41.115 106.082,40.287 107.500,39.599C108.291,39.215 110.034,38.367 111.375,37.716C118.088,34.452 119.047,34.036 124.288,32.110C124.824,31.913 125.385,31.687 125.533,31.607C125.956,31.381 130.384,29.735 131.938,29.226C132.350,29.091 133.222,28.792 133.875,28.562C134.528,28.332 135.400,28.035 135.812,27.902C136.225,27.770 138.348,27.062 140.531,26.330C142.714,25.599 144.580,25.000 144.678,25.000C144.776,25.000 145.578,24.780 146.460,24.511C148.503,23.889 149.620,23.563 151.219,23.123C151.924,22.929 152.852,22.654 153.282,22.513C155.212,21.878 161.948,20.475 163.187,20.450C164.060,20.433 164.060,20.608 163.188,21.100C162.383,21.554 161.429,22.000 153.625,25.570C151.784,26.412 145.810,29.432 141.091,31.907C136.605,34.258 136.621,34.239 137.381,36.703C137.849,38.222 138.591,42.889 138.770,45.438C139.055,49.498 138.500,56.245 137.608,59.556C137.459,60.110 137.184,61.125 136.998,61.812C135.704,66.585 132.271,72.660 128.501,76.849C123.542,82.360 115.397,87.353 108.470,89.130C107.593,89.355 107.202,89.766 107.284,90.378C107.350,90.868 107.468,91.049 110.004,94.562C110.599,95.388 111.781,97.047 112.630,98.250C113.479,99.453 114.997,101.591 116.003,103.000C117.009,104.409 119.231,107.531 120.940,109.938C122.650,112.344 124.431,114.847 124.899,115.500C125.367,116.153 126.968,118.403 128.457,120.500C129.945,122.597 132.008,125.494 133.042,126.938C134.075,128.381 135.234,130.005 135.617,130.545C135.999,131.086 137.452,133.130 138.846,135.089C141.732,139.146 141.671,139.048 141.572,139.444C141.430,140.010 141.321,140.015 127.749,139.975C115.076,139.938 114.930,139.935 114.530,139.681C114.134,139.431 113.196,138.177 110.276,134.000C108.443,131.379 100.757,120.478 97.937,116.500C97.376,115.709 96.730,114.781 96.500,114.438C96.270,114.094 95.595,113.138 94.998,112.312C93.993,110.922 91.937,108.007 85.786,99.250C83.121,95.456 82.361,94.460 81.835,94.072C81.366,93.727 70.737,93.595 69.947,93.925C69.372,94.166 68.982,94.751 66.278,99.438C63.980,103.419 61.201,108.950 59.934,112.062C59.710,112.612 59.236,113.709 58.881,114.500C58.525,115.291 58.073,116.359 57.875,116.875C57.678,117.391 57.281,118.403 56.994,119.125C55.474,122.948 52.852,130.998 51.783,135.125C51.543,136.053 51.221,137.361 51.067,138.032C50.760,139.374 50.559,139.687 49.888,139.874C49.274,140.044 7.306,140.032 6.879,139.861ZM28.622,92.429C28.544,92.223 28.500,76.876 28.500,49.482L28.500,6.856L28.853,6.503C29.140,6.216 29.357,6.134 30.009,6.068C30.451,6.023 45.409,6.005 63.250,6.028L95.688,6.071L98.500,6.525C100.047,6.774 101.622,7.016 102.000,7.063C104.546,7.375 109.924,8.831 112.750,9.973C119.721,12.790 125.716,16.839 129.226,21.100C130.350,22.464 129.958,23.069 127.431,23.871C127.160,23.957 126.459,24.215 125.875,24.445C125.291,24.675 124.025,25.150 123.062,25.500C120.617,26.390 119.216,26.940 118.125,27.436C117.609,27.671 116.091,28.365 114.750,28.978C113.409,29.591 111.834,30.303 111.250,30.560C110.666,30.816 109.700,31.248 109.103,31.518C107.183,32.388 106.691,32.338 104.423,31.040C103.658,30.603 102.562,30.082 101.985,29.882C101.409,29.683 100.184,29.231 99.262,28.879C98.016,28.404 97.198,28.179 96.074,28.004C95.243,27.875 93.859,27.638 93.000,27.478L91.438,27.188L72.044,27.188C53.167,27.188 52.644,27.194 52.389,27.425C51.878,27.887 51.876,27.945 51.876,48.742C51.875,68.579 51.871,68.930 51.628,69.431C51.458,69.782 50.493,70.760 48.535,72.564C44.671,76.125 41.639,79.111 39.081,81.875C37.903,83.147 36.206,84.975 35.309,85.938C33.828,87.525 32.647,88.906 30.587,91.458C29.517,92.784 28.877,93.100 28.622,92.429ZM90.236,72.560C93.069,72.276 96.162,71.804 97.507,71.452C104.791,69.541 111.027,64.419 113.272,58.500C114.356,55.640 115.189,50.118 114.709,48.969C114.428,48.297 113.906,48.315 112.883,49.031C104.689,54.778 96.290,61.904 89.745,68.664C85.718,72.824 85.741,73.011 90.236,72.560Z%22%3E%3C/path%3E%3C/svg%3E");--rk-watermark:var(--watermark-light)}
[data-theme="dark"]{--rk-watermark:var(--watermark-dark)}

.rk-page,.rk-page *{box-sizing:border-box}
.rk-page{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:27px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.rk-wrap{width:100%;max-width:calc(var(--content-max) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.rk-wrap--wide{max-width:calc(var(--band-max) + 2*var(--gutter))}

/* ── Mark & Lockup ───────────────────────────── */
.rk-mark{display:inline-block;flex:none;height:1em;aspect-ratio:171/146;background:currentColor;-webkit-mask:var(--rk-mark) center/contain no-repeat;mask:var(--rk-mark) center/contain no-repeat}
.rk-lockup{--s:54px;display:inline-flex;align-items:center;gap:calc(var(--s)*.815);color:var(--ink);font-family:var(--font-sans);text-decoration:none}
.rk-lockup .rk-mark{font-size:calc(var(--s)*2.78)}
.rk-lockup__rule{width:max(1px,calc(var(--s)*.037));height:calc(var(--s)*2.15);background:var(--hairline)}
.rk-lockup__text{display:flex;flex-direction:column;gap:calc(var(--s)*.26)}
.rk-lockup__name{font-weight:800;font-size:var(--s);line-height:1;letter-spacing:.36em;margin-right:-.36em}
.rk-lockup__sub{font-weight:700;font-size:calc(var(--s)*.37);line-height:1;letter-spacing:.62em;color:var(--ink-muted)}
.rk-lockup--sm{--s:15px}.rk-lockup--md{--s:28px}.rk-lockup--lg{--s:54px}
/* compact: mark + name only, used in the nav */
.rk-lockup--compact{gap:10px}
.rk-lockup--compact .rk-mark{font-size:22px}
.rk-lockup--compact .rk-lockup__rule,.rk-lockup--compact .rk-lockup__sub{display:none}
.rk-lockup--compact .rk-lockup__name{font-size:12px;letter-spacing:.3em;margin-right:-.3em}

/* ── Buttons & links ─────────────────────────── */
.rk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 22px;border:0;border-radius:var(--radius-pill);font:600 15px/20px var(--font-sans);letter-spacing:0;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,box-shadow .2s}
.rk-btn--primary{background:var(--action);color:var(--on-action)}
.rk-btn--primary:hover{background:var(--action-hover)}
.rk-btn--secondary{background:transparent;color:var(--ink);box-shadow:var(--ring-control)}
.rk-btn--secondary:hover{background:var(--ink);color:var(--canvas)}
.rk-btn--compact{min-height:28px;padding:6px 14px;font-size:12px;line-height:16px}
.rk-btn--large{min-height:52px;padding:15px 30px;font-size:17px;line-height:22px}
.rk-btn:focus-visible,.rk-link:focus-visible,.rk-nav a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.rk-btn[aria-disabled="true"]{opacity:.4;pointer-events:none}
.rk-on-inverse .rk-btn--secondary{color:var(--on-inverse);box-shadow:inset 0 0 0 1.5px var(--on-inverse)}
.rk-on-inverse .rk-btn--secondary:hover{background:var(--on-inverse);color:var(--brand-black)}
.rk-on-inverse .rk-btn:focus-visible{outline-color:var(--on-inverse)}
.rk-link{display:inline-flex;align-items:baseline;gap:2px;color:var(--link);font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}
.rk-link::after{content:"\203A";font-weight:500;margin-left:4px;transition:transform .2s}
.rk-link:hover{text-decoration:underline;text-underline-offset:3px}
.rk-link:hover::after{transform:translateX(2px)}
.rk-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px}
.rk-actions--start{justify-content:flex-start}

/* ── Labels ──────────────────────────────────── */
.rk-eyebrow{margin:0;font:700 12px/16px var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-muted)}
.rk-label{font:700 12px/16px var(--font-sans);letter-spacing:.02em;color:var(--signal)}

/* ── Global nav ──────────────────────────────── */
.rk-nav{position:sticky;top:0;z-index:10;height:var(--nav-height);background:var(--nav-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hairline)}
.rk-nav__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.rk-nav__links{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}
.rk-nav__links a{font:500 12px/16px var(--font-sans);color:var(--ink);opacity:.8;text-decoration:none;border-radius:4px}
.rk-nav__links a:hover,.rk-nav__links a[aria-current]{opacity:1}
.rk-nav__end{display:flex;align-items:center;gap:24px}
@media (max-width:640px){.rk-nav__links{display:none}}

/* ── Hero ────────────────────────────────────── */
.rk-hero{position:relative;overflow:hidden;background:var(--canvas);padding:var(--space-32) 0 0;text-align:center}
.rk-hero__copy{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}
.rk-hero__kicker{margin:0;font:700 21px/24px var(--font-sans)}
.rk-hero__title{margin:0;max-width:14ch;font:800 80px/84px var(--font-sans);letter-spacing:-.025em;text-wrap:balance}
.rk-hero__lede{margin:4px 0 0;max-width:34ch;font:500 21px/30px var(--font-sans);letter-spacing:-.005em;color:var(--ink-secondary);text-wrap:pretty}
.rk-hero .rk-actions{margin-top:12px}
.rk-hero__stage{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:32px;margin-top:var(--space-16);padding:0 var(--gutter)}
.rk-hero__stage .rk-shot{margin-bottom:-96px}
.rk-hero__stage .rk-shot:nth-child(2){--w:300px;margin-bottom:-180px}
@media (max-width:734px){.rk-hero{padding-top:64px}.rk-hero__title{font-size:48px;line-height:52px}.rk-hero__lede{font-size:19px;line-height:28px}.rk-hero__stage .rk-shot:not(:nth-child(2)){display:none}}

/* Watermark: the brand kit's oversized mark bleeding off a corner */
.rk-watermark{position:absolute;pointer-events:none;color:var(--ink);opacity:var(--rk-watermark);font-size:var(--wm,720px);line-height:1}
.rk-watermark--tr{top:-14%;right:-12%}
.rk-watermark--br{bottom:-22%;right:-10%}
.rk-on-inverse .rk-watermark{color:var(--on-inverse);opacity:var(--watermark-dark)}

/* ── Store shot: a store-listing graphic shown as a poster card ── */
.rk-shot{--w:280px;position:relative;flex:none;width:var(--w);aspect-ratio:800/1734;margin:0;border-radius:calc(var(--w)*.085);overflow:hidden;background:var(--media-well);box-shadow:0 1px 2px rgba(20,20,20,.08),0 18px 40px -12px rgba(20,20,20,.28)}
.rk-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.rk-shot--sm{--w:220px}.rk-shot--lg{--w:320px}

/* ── Section chrome ──────────────────────────── */
.rk-section{padding:var(--space-24) 0}
.rk-section--band{background:var(--band)}
.rk-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-bottom:var(--space-10)}
.rk-section__title{margin:8px 0 0;font:800 56px/60px var(--font-sans);letter-spacing:-.02em}
@media (max-width:734px){.rk-section{padding:64px 0}.rk-section__title{font-size:40px;line-height:44px}}

/* ── App card ────────────────────────────────── */
.rk-apps{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.rk-app{position:relative;flex:1 1 280px;display:flex;flex-direction:column;gap:16px;padding:var(--space-7);border-radius:var(--radius-card);background:var(--raised);overflow:hidden}
.rk-app--on-canvas{box-shadow:var(--ring-hairline)}
.rk-app__icon{width:var(--icon-app);height:var(--icon-app);border-radius:var(--radius-icon);object-fit:cover;background:var(--media-well);flex:none}
.rk-app__icon--empty{display:grid;place-items:center;color:var(--ink-muted);font-size:28px}
.rk-app__head{display:flex;flex-direction:column;gap:4px}
.rk-app__name{margin:0;font:700 24px/30px var(--font-sans);letter-spacing:-.01em}
.rk-app__desc{margin:0;font:400 14px/21px var(--font-sans);color:var(--ink-secondary);flex:1}
.rk-app__meta{margin:0;font:500 12px/16px var(--font-sans);color:var(--ink-muted)}
.rk-app__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}
.rk-app__foot .rk-link{font-size:14px}
.rk-app--feature{flex-basis:100%;flex-direction:row;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-10) 0;min-height:440px}
.rk-app--feature .rk-app__body{flex:1;display:flex;flex-direction:column;gap:16px;align-self:center;padding-bottom:var(--space-10)}
.rk-app--feature .rk-app__name{font-size:40px;line-height:44px;letter-spacing:-.015em}
.rk-app--feature .rk-app__desc{font-size:17px;line-height:27px;flex:none;max-width:36ch}
.rk-app--feature .rk-app__media{align-self:flex-end;display:flex;gap:20px}
.rk-app--feature .rk-shot{margin-bottom:-90px}
@media (max-width:734px){.rk-app--feature{flex-direction:column;align-items:flex-start;padding:var(--space-7) var(--space-7) 0}.rk-app--feature .rk-app__media{align-self:center}.rk-app--feature .rk-shot:nth-child(n+2){display:none}}

/* ── Editorial feature block ─────────────────── */
.rk-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--space-16)}
.rk-feature--flip .rk-feature__media{order:-1}
.rk-feature__copy{display:flex;flex-direction:column;gap:16px}
.rk-feature__title{margin:0;font:700 40px/44px var(--font-sans);letter-spacing:-.015em;text-wrap:balance}
.rk-feature__body{margin:0;max-width:44ch;color:var(--ink-secondary)}
.rk-feature__media{display:flex;justify-content:center;align-items:flex-end;min-height:420px;border-radius:var(--radius-card);background:var(--band);overflow:hidden;padding-top:48px}
.rk-feature__media .rk-shot{margin-bottom:-110px}
.rk-points{display:grid;gap:16px;margin:8px 0 0;padding:0;list-style:none}
.rk-points li{display:grid;gap:2px;padding-top:16px;border-top:1px solid var(--hairline)}
.rk-points strong{font:700 15px/20px var(--font-sans)}
.rk-points span{font:400 14px/21px var(--font-sans);color:var(--ink-muted)}
@media (max-width:734px){.rk-feature{grid-template-columns:1fr;gap:40px}.rk-feature--flip .rk-feature__media{order:0}.rk-feature__title{font-size:32px;line-height:36px}}

/* ── Support callout (inverse band) ──────────── */
.rk-support{position:relative;overflow:hidden;background:var(--inverse);color:var(--on-inverse);padding:var(--space-24) 0}
.rk-support__in{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.rk-support__rule{width:72px;height:6px;background:var(--on-inverse)}
.rk-support__title{margin:0;font:800 56px/60px var(--font-sans);letter-spacing:-.02em;max-width:14ch}
.rk-support__body{margin:0;max-width:36ch;font:500 21px/30px var(--font-sans);color:var(--on-inverse-muted)}
.rk-support .rk-btn--primary{background:var(--on-inverse);color:var(--brand-black)}
.rk-support .rk-btn--primary:hover{background:#e0e0e0}
@media (max-width:734px){.rk-support{padding:64px 0}.rk-support__title{font-size:40px;line-height:44px}}

/* ── Footer ──────────────────────────────────── */
.rk-footer{background:var(--band);color:var(--ink-muted);padding:var(--space-12) 0 var(--space-8);font:500 12px/16px var(--font-sans)}
.rk-footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;padding-bottom:var(--space-8);border-bottom:1px solid var(--hairline)}
.rk-footer__cols{display:flex;flex-wrap:wrap;gap:24px 64px}
.rk-footer__col h3{margin:0 0 12px;font:700 12px/16px var(--font-sans);color:var(--ink)}
.rk-footer__col ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.rk-footer a{color:var(--ink-muted);text-decoration:none}
.rk-footer a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.rk-footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:var(--space-5)}

/* Page basics */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0}
.rk-page{min-height:100vh}
.rk-section,.rk-support{scroll-margin-top:48px}
.rk-skip{position:absolute;left:16px;top:-80px;z-index:20;padding:10px 18px;border-radius:var(--radius-pill);background:var(--action);color:var(--on-action);font:600 14px/20px var(--font-sans);text-decoration:none}
.rk-skip:focus{top:8px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rk-btn,.rk-link::after{transition:none}}
.rk-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── Motion ──────────────────────────────────────
   Quiet by design: one entrance, one reveal per section, small hover lifts, a slow watermark drift.
   Everything sits behind prefers-reduced-motion; the page is complete and static without it.
   Uses the individual transform properties (translate / rotate / scale) so the pieces compose. */
@media (prefers-reduced-motion:no-preference){
  :root{--ease-out:cubic-bezier(.2,.8,.2,1);--ease-soft:cubic-bezier(.3,1.25,.5,1)}

  /* 1. Hero: the three graphics rise and fan out, centre lands last */
  .rk-hero__stage .rk-shot{animation:rk-rise .9s var(--ease-soft) backwards}  /* backwards, not both: once landed the animation lets go, so hover transitions can run */
  .rk-hero__stage .rk-shot:nth-child(1){--fan:-4deg;animation-delay:.15s}
  .rk-hero__stage .rk-shot:nth-child(3){--fan:4deg;animation-delay:.25s}
  .rk-hero__stage .rk-shot:nth-child(2){animation-delay:.4s}
  .rk-hero__stage .rk-shot:not(:nth-child(2)){rotate:var(--fan)}
  @keyframes rk-rise{from{opacity:0;translate:0 140px;rotate:0deg}}
  .rk-hero__copy>*{animation:rk-fade .7s var(--ease-out) both}
  .rk-hero__copy>:nth-child(2){animation-delay:.05s}
  .rk-hero__copy>:nth-child(3){animation-delay:.1s}
  .rk-hero__copy>:nth-child(4){animation-delay:.15s}
  @keyframes rk-fade{from{opacity:0;translate:0 16px}}

  /* 2. Reveal once on scroll (script adds .rk-motion to <html>, then .is-in per element) */
  .rk-motion [data-reveal]{opacity:0;translate:0 24px;transition:opacity .7s var(--ease-out),translate .7s var(--ease-out);transition-delay:var(--d,0s)}
  .rk-motion [data-reveal].is-in{opacity:1;translate:0 0}
  .rk-d1{--d:.1s}.rk-d2{--d:.2s}

  /* 3. Hover: posters lift, the pair on an app card fans apart */
  .rk-shot{transition:translate .45s var(--ease-soft),rotate .45s var(--ease-soft),scale .45s var(--ease-soft),box-shadow .45s var(--ease-out)}
  .rk-shot:hover{translate:0 -8px;box-shadow:0 2px 4px rgba(20,20,20,.08),0 30px 60px -16px rgba(20,20,20,.34)}
  .rk-app--feature .rk-shot:first-child{transform-origin:bottom right}
  .rk-app--feature .rk-shot:last-child{transform-origin:bottom left}
  .rk-app--feature:hover .rk-shot:first-child{rotate:-3deg;translate:-6px -4px}
  .rk-app--feature:hover .rk-shot:last-child{rotate:3deg;translate:6px -4px}
  .rk-hero__stage .rk-shot:hover{translate:0 -14px;rotate:0deg;scale:1.02;transition-duration:.55s}
  .rk-btn:active{scale:.97}

  /* 4. Watermarks drift a few pixels with scroll (script sets --drift) */
  .rk-watermark{translate:0 calc(var(--drift,0)*1px);will-change:translate}
}
