/* A consistent rhythm for RUYI's charcoal, ivory and bronze palette. */
main > .section, main > .video-section { padding-block:72px; }
main > .section .section-heading { margin-bottom:36px; }
main > .section[id] { scroll-margin-top:76px; }
.prototype-story .prototype-wrap { max-width:1280px; }
.prototype-story .section-heading { max-width:780px; }
.prototype-overview { margin:0 0 28px; border:1px solid #c8baa5; border-radius:6px; }
.prototype-overview summary { padding:16px 20px; cursor:pointer; color:#754e2f; font-size:16px; font-weight:600; }
.prototype-overview summary:focus-visible,.prototype-overview a:focus-visible { outline:2px solid #a46e42; outline-offset:4px; }
.prototype-overview figure { margin:0; border-top:1px solid #d8cebe; }
.prototype-overview img { display:block; width:100%; height:auto; }
.prototype-overview figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; padding:14px 20px; color:#49453f; font-size:14px; }
.prototype-overview figcaption a { color:#754e2f; text-decoration:underline; text-underline-offset:3px; }
.prototype-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 24px; align-items:start; }
.prototype-story .prototype-step { display:flex; flex-direction:column; gap:16px; align-items:stretch; padding:20px 0 0; border-top:1px solid #c8baa5; min-width:0; }
.prototype-story .prototype-visual { padding:16px 0; }
.prototype-story .prototype-number { font-size:11px; letter-spacing:.13em; margin-bottom:10px; }
.prototype-story h3 { font-size:22px; line-height:1.2; margin-bottom:12px; }
.prototype-story .prototype-detail { font-size:13px; line-height:1.5; margin-bottom:12px; }
.prototype-story .prototype-copy { font-size:15px; line-height:1.65; min-height:4.95em; }
.prototype-more { margin-top:16px; border-top:1px solid #d8cebe; padding-top:12px; }
.prototype-more summary { cursor:pointer; color:#754e2f; font-size:13px; font-weight:650; }
.prototype-more p { color:#49453f; font-size:15px; line-height:1.65; margin-top:12px; }
.prototype-story .prototype-conclusion { margin:0; padding:28px 22px; border:1px solid #c9b89e; border-radius:4px; background:#e9e1d4; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.prototype-conclusion h3 { font-size:20px; }
main > .rewards-section { padding-bottom:28px; }
.rewards-section .section-heading { margin-bottom:30px; }
.reward-card { border-radius:8px; padding:26px; background:#faf7f2; }
.reward-featured { border:1px solid #aa7648; box-shadow:0 0 0 2px rgba(170,118,72,.08); }
.reward-card h3 { font-size:23px; }
.reward-card .reward-price { font-size:48px; }
.reward-support { margin-top:20px; padding:20px 0; }
.reward-terms { margin-top:18px; max-width:none; }
main > .rewards-section + .faq-section { padding-top:36px; border-top:1px solid #e0d7c9; }
.faq-section .faq-list { max-width:960px; }
.faq-list details { border-radius:6px; }
.prototype-more summary:focus-visible { outline:2px solid #a46e42; outline-offset:4px; }
@media(max-width:1100px) { .prototype-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; } }
@media(max-width:620px) {
 main > .section,main > .video-section { padding-block:44px; }
 main > .section .section-heading { margin-bottom:26px; }
 .prototype-grid { grid-template-columns:1fr; gap:24px; }
 .prototype-story .prototype-step { display:grid; grid-template-columns:1fr; gap:8px; padding-top:16px; }
 .prototype-story .prototype-visual { padding:8px 0; }
 .prototype-story .prototype-copy { font-size:16px; min-height:0; }
 .prototype-story .prototype-conclusion { padding:22px; }
 main > .rewards-section { padding-bottom:24px; }
 main > .rewards-section + .faq-section { padding-top:28px; }
 .reward-card { padding:24px; }
}
