/* rockstarshaders.com additions on top of the shared stylesheet (styles.css is copied from
   ryleighnewman.com unchanged). This file only adds product layout, media, and motion.
   Spacing scale: 8 / 16 / 24 / 40 / 64. Widths: 980 sections, 760 prose. */
:root{--y-8:8px;--y-16:16px;--y-24:24px;--y-40:40px;--y-64:64px;--y-w:980px;--y-prose:760px;--y-ink:#dddddd;--y-mute:#9fb0bd;--y-accent:rgb(169,204,227);--y-head:rgb(100,150,200)}

/* hero */
.rs-hero{position:relative;min-height:0;padding:118px 20px var(--y-40);overflow:hidden;background:radial-gradient(70% 60% at 30% 20%,rgba(60,110,180,.45),transparent 70%),radial-gradient(60% 50% at 80% 30%,rgba(120,80,200,.35),transparent 70%),rgb(18,22,24);box-shadow:none}
.rs-hero .backdrop{position:absolute;left:50%;top:24%;width:min(1400px,160vw);transform:translate(-50%,-50%);opacity:.38;mix-blend-mode:screen;filter:blur(.6px) saturate(1.3);pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.rs-hero > *{position:relative}
.hero-title{font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.05;font-weight:300;margin:0;letter-spacing:-.01em}
.hero-title .accent{display:block;color:var(--y-accent)}
.hero-lede{max-width:var(--y-prose);margin:var(--y-24) auto 0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.5;text-shadow:none}
.hero-actions{display:flex;gap:var(--y-16);justify-content:center;align-items:center;flex-wrap:wrap;margin:var(--y-24) auto 0}
.store-badge img{display:block;height:52px;width:auto}
.hero-note{margin:10px 0 0;font-size:.95rem;color:var(--y-mute);text-shadow:none}
/* The recordings are the app's own panels at 2x, 672 real pixels wide. Cropped to the panel
   edge so nothing is wasted on a phone, and capped so a Retina desktop never blows them past
   ~1.7x. Corner radius is a fraction of the width so it scales with the panel. */
.hero-video{width:min(560px,100%);margin:var(--y-40) auto 0}
.hero-video video{display:block;width:100%;height:auto;border-radius:5.06% / 14.05%;box-shadow:0 30px 60px rgba(0,0,0,.6)}

/* sections: one rhythm everywhere */
.rs-section{padding:var(--y-24) 20px}
.rs-section + .rs-section{padding-top:0}
.rs-section .section-box{max-width:var(--y-w);padding:var(--y-40) clamp(20px,4vw,48px);margin:var(--y-40) auto}
.rs-section .section-title-blue{margin:0 0 var(--y-8);font-size:clamp(1.3rem,2.6vw,1.8rem)}
.rs-section .lead{max-width:var(--y-prose);margin:0 auto var(--y-24);font-size:1.08rem;color:var(--y-ink)}
.rs-section p{max-width:none;font-size:1.02rem;line-height:1.55;color:var(--y-ink);hyphens:manual;-webkit-hyphens:manual}
.demo-copy p,.feature-grid p,.faq p,.pair span{text-align:left}
.rs-section h3{font-weight:300;font-size:1.2rem;color:var(--y-accent);margin:0 0 6px}

/* demo videos */
.demo{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--y-24);align-items:center;text-align:left;margin-top:var(--y-24)}
.demo + .demo{margin-top:var(--y-40)}
.demo.flip{grid-template-columns:.75fr 1.25fr}.demo.flip .demo-copy{order:-1}
@media (max-width:820px){.demo,.demo.flip{grid-template-columns:1fr}.demo.flip .demo-copy{order:0}}
.demo-video{width:100%;max-width:560px;justify-self:center}
.demo-video video{display:block;width:100%;height:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.demo-video.is-panel video{border-radius:5.06% / 14.05%}
.demo-video.is-card video{border-radius:4.53% / 16.5%}
.demo-video.is-editor video{border-radius:var(--lg-radius-inner);border:1px solid rgba(255,255,255,.14)}
.demo-copy p{margin:0 0 10px}

/* spoken -> typed examples */
.pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--y-16);text-align:left;margin-top:var(--y-16)}
.pair{background:rgba(15,18,22,.6);border:1px solid rgba(255,255,255,.14);border-radius:var(--lg-radius-inner);padding:14px 16px}
.pair .said,.pair .typed{display:block;font-size:.98rem;line-height:1.45}
.pair .said{color:var(--y-mute)}.pair .said::before{content:"You say";display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--y-head);margin-bottom:2px}
.pair .typed{color:#fff;margin-top:10px}.pair .typed::before{content:"It types";display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--y-head);margin-bottom:2px}
.pair .q,.q{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:#fff;background:rgba(100,150,200,.22);border-radius:6px;padding:1px 6px}

/* feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--y-16);margin-top:var(--y-16);text-align:left}
.feature-grid .sub-section-box{margin:0;max-width:none;padding:16px 18px}
.feature-grid p{font-size:.98rem;line-height:1.45;margin:0}

/* still images */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--y-24);align-items:center;text-align:left;margin-top:var(--y-16)}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.split img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;border-radius:var(--lg-radius-inner);filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}

/* faq */
.faq{text-align:left}
.faq details{border-top:1px solid rgba(255,255,255,.14);padding:12px 0}.faq details:last-of-type{border-bottom:1px solid rgba(255,255,255,.14)}
.faq summary{cursor:pointer;color:#fff;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::after{content:"+";color:var(--y-accent);flex:none}.faq details[open] summary::after{content:"\2013"}
.faq p{font-size:.98rem;margin:8px 0 0}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* footer: the shared glass footer, laid out properly */
.footer-wrapper{margin-top:var(--y-40)}
footer.rs-footer{flex-direction:column;align-items:stretch;padding:var(--y-24) clamp(20px,4vw,40px) var(--y-16);max-width:var(--y-w);font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:var(--y-24);text-align:left}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.1rem}.foot-brand img{width:36px;height:36px;border-radius:9px}
.foot-brand + p{margin:10px 0 0;font-size:.9rem;color:var(--y-mute);max-width:280px}
.foot-col .foot-head{margin:0 0 8px;font-weight:300;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--y-head)}
.foot-col a{display:block;color:var(--y-ink);margin:0 0 6px;font-size:.95rem}.foot-col a:hover{color:var(--y-accent)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--y-24);padding-top:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem;color:var(--y-mute)}
.foot-bottom p{margin:0;font-size:.85rem;color:var(--y-mute)}

/* article pages */
.rs-article{padding-top:96px}
.rs-prose{text-align:left;max-width:var(--y-prose)}
.rs-prose h1.section-title-blue{text-transform:none;font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 var(--y-16)}
.rs-h2{font-weight:300;font-size:1.35rem;color:var(--y-accent);margin:var(--y-24) 0 var(--y-8)}
.rs-prose p,.rs-prose li{font-size:1.02rem;line-height:1.55;color:var(--y-ink);text-align:left;hyphens:manual;-webkit-hyphens:manual}
.rs-prose ul,.rs-prose ol{margin:6px 0 12px 22px}
.rs-related{padding-left:1.2em}.rs-related li{margin:6px 0}
.rs-figure{margin:var(--y-16) 0}.rs-figure img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;border-radius:var(--lg-radius-inner);filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}
.rs-figure figcaption{font-size:.9rem;color:var(--y-mute);font-style:italic;text-align:center;margin:10px 0 0}
.rs-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--y-head);margin:0 0 6px}
.rs-cards .rs-card{display:block;color:inherit;text-decoration:none;transition:transform .25s ease,background-color .25s ease}.rs-cards .rs-card:hover{transform:translateY(-3px);text-decoration:none;background-color:rgba(20,30,40,.85)}
.rs-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0 16px}
.rs-table table{margin:0;min-width:640px}
.rs-prose table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:.98rem}.rs-prose th,.rs-prose td{border:1px solid rgba(255,255,255,.14);padding:8px 10px;text-align:left;vertical-align:top}.rs-prose th{color:var(--y-accent);font-weight:300}
.rs-sources{font-size:.9rem;word-break:break-all}

/* fixes from the site review */
@font-face{font-family:'Segoe UI';src:url('/assets/fonts/segoeuil-latin.woff2') format('woff2'),url('/assets/fonts/segoeuil.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
.page-loader{display:none}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.rs-cards .rs-card:focus-visible{transform:translateY(-3px);background-color:rgba(20,30,40,.85)}
.menu-check{display:block;position:fixed;top:15px;right:50px;width:42px;height:36px;margin:0;opacity:0;z-index:1011;cursor:pointer}
@media (min-width:460px){.menu-check{display:none}}
.menu-check:focus-visible + .menu-toggle{outline:2px solid #fff;outline-offset:2px}
.motion-toggle{-webkit-appearance:none;appearance:none;margin-left:10px;font:inherit;font-size:.85rem;line-height:1.2;color:var(--y-ink);background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 12px;cursor:pointer;text-shadow:none}
.motion-toggle:hover{border-color:#fff}
.rs-cards h2{font-weight:300;font-size:1.2rem;color:var(--y-accent);margin:0 0 6px;text-transform:none}

/* v159: visible dateline, download blocks, uppercase section titles (the markup is sentence case), hidden labels */
.rs-dateline{font-size:.9rem;color:var(--y-head);margin:-4px 0 14px}.rs-dateline a{color:inherit}
.rs-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 8px;font-size:.95rem}.rs-cta img{display:block}
.rs-takeaways{border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 18px;margin:0 0 18px}.rs-takeaways p{margin:0 0 6px;font-weight:600}.rs-takeaways ul{margin:0;padding-left:1.2em}.rs-takeaways li{margin:4px 0}
.section-title-blue{text-transform:uppercase}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rs-facts{margin:12px 0 0;padding-left:1.2em;font-size:.95rem}.rs-facts li{margin:4px 0}
.rs-note{font-size:.88rem;color:var(--y-head)}
.rs-author{font-size:.9rem;color:var(--y-head);border-top:1px solid rgba(255,255,255,.14);padding-top:12px;margin-top:18px}

/* rockstarshaders.com: the hero and demo rows carry still images, not video (same rules as inputconfig.com) */
.hero-video{width:min(760px,100%);margin:var(--y-40) auto 0;border-radius:var(--lg-radius);overflow:hidden;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.hero-video img,.demo-video img{display:block;width:100%;height:auto}
.demo-video{border-radius:var(--lg-radius);overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.5);background:#0f1418;aspect-ratio:16/9}
.split img{width:100%;height:auto;border-radius:var(--lg-radius-inner);filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--y-24);text-align:left}
.rs-hero{background:radial-gradient(70% 60% at 30% 20%,rgba(60,110,180,.45),transparent 70%),radial-gradient(60% 50% at 80% 30%,rgba(200,140,80,.28),transparent 70%),rgb(18,22,24)}
.rs-btn{display:inline-block;color:#fff;font-size:1.02rem;padding:10px 22px;border:1px solid rgba(169,204,227,.6);border-radius:999px;text-decoration:none}
.rs-btn:hover{background:rgba(169,204,227,.15);text-decoration:none}
.rs-btn.primary{background:rgb(169,204,227);color:#101418;border-color:transparent}
.rs-btn.primary:hover{filter:brightness(1.08)}
.rs-steps{counter-reset:step;list-style:none;margin:8px 0 16px 0;padding:0}
.rs-steps li{counter-increment:step;position:relative;padding:8px 0 8px 44px;border-top:1px solid rgba(255,255,255,.1)}
.rs-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.rs-steps li::before{content:counter(step);position:absolute;left:0;top:9px;width:28px;height:28px;border-radius:50%;background:rgba(100,150,200,.22);color:#fff;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.rs-downloads{list-style:none;margin:8px 0 12px;padding:0}
.rs-downloads li{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}
.rs-downloads li:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.rs-downloads a{color:#fff;font-size:1.02rem;padding:6px 14px;border:1px solid rgba(169,204,227,.5);border-radius:999px;text-decoration:none}
.rs-downloads a:hover{background:rgba(169,204,227,.15);text-decoration:none}
.rs-downloads span{color:var(--y-mute);font-size:.95rem}
.rs-prose h3{font-weight:300;font-size:1.12rem;color:#fff;margin:18px 0 6px}
.rs-prose .rs-note{padding:10px 14px;border:1px solid rgba(169,204,227,.35);border-radius:var(--lg-radius-inner);background:rgba(100,150,200,.08);font-size:.98rem}
.rs-prose kbd,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-bottom-width:2px;border-radius:5px;padding:1px 6px}
.rs-prose code,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:#fff;background:rgba(255,255,255,.08);border-radius:5px;padding:1px 5px}
.rs-prose .rs-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:8px 0 14px}
.rs-prose .rs-kv dt{color:var(--y-accent)}.rs-prose .rs-kv dd{margin:0;color:var(--y-ink)}
@media (max-width:600px){.rs-prose .rs-kv{grid-template-columns:1fr}.rs-prose .rs-kv dd{margin:0 0 8px}}
.rs-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--y-16);margin-top:var(--y-16)}
.rs-gallery figure{margin:0}
.rs-gallery a{display:block;border-radius:var(--lg-radius-inner);overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#0f1418}
.rs-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .25s ease}
.rs-gallery a:hover img{transform:scale(1.02)}
.rs-gallery figcaption{font-size:.9rem;color:var(--y-mute);font-style:italic;text-align:center;margin:8px 0 0}
.rs-cta{margin:var(--y-24) 0 0;text-align:center}

/* v4: the video hero, logo buttons, the article furniture and the InputConfig block */
.hero-video-link{position:relative;display:block;color:#fff;text-decoration:none}
.hero-video-link video{display:block;width:100%;height:auto;background:#0f1418}
.hero-play{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(10,14,18,.7);border:1px solid rgba(255,255,255,.25);font-size:.95rem;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-video-link:hover .hero-play{background:rgba(169,204,227,.25);border-color:rgba(169,204,227,.8)}
.hero-play img{display:inline-block;width:22px;height:22px}
.rs-btn{display:inline-flex;align-items:center;gap:8px}
.rs-btn img{display:inline-block;width:18px;height:18px;filter:none}
.rs-btn.primary img{filter:invert(1) brightness(.15)}
.rs-cta-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 8px;font-size:.95rem}
.rs-cta-line span{color:var(--y-mute)}
.rs-dateline{font-size:.9rem;color:var(--y-head);margin:-4px 0 14px}.rs-dateline a{color:inherit}
.rs-author{font-size:.92rem;color:var(--y-mute);border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:18px}
.rs-related{padding-left:1.2em}.rs-related li{margin:6px 0}
.rs-sources{font-size:.9rem;word-break:break-all}
.rs-wide{max-width:var(--y-w)}
.rs-cards .rs-card{display:block;color:inherit;text-decoration:none;transition:transform .25s ease,background-color .25s ease}.rs-cards .rs-card:hover{transform:translateY(-3px);text-decoration:none;background-color:rgba(20,30,40,.85)}
.rs-cards h2{font-weight:300;font-size:1.2rem;color:var(--y-accent);margin:0 0 6px;text-transform:none}
.rs-shout{display:grid;grid-template-columns:96px 1fr;gap:var(--y-24);align-items:start;text-align:left;margin-top:var(--y-16)}
.rs-shout img{border-radius:22px}
.rs-shout-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
@media (max-width:600px){.rs-shout{grid-template-columns:1fr}.rs-shout > a{justify-self:center}}

/* 1.0 (2026-09-24): the launch film is the hero; looping clips in the demo rows; the technical figures */
.rs-hero-film{width:min(1100px,100%);margin:var(--y-24) auto var(--y-24)}
.rs-hero-film video{aspect-ratio:16/9;object-fit:cover}
.demo-video video{display:block;width:100%;height:100%;object-fit:cover;box-shadow:none}
.rs-figure{margin:var(--y-24) 0 0;border-radius:var(--lg-radius-inner);overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.14)}
.rs-figure img{display:block;width:100%;height:auto}
