.rt3-home-page #workshop .shw-heading { margin-bottom:36px; max-width:900px; }
.rt3-home-page #workshop .shw-heading h2 { font-size:52px; line-height:1.16; letter-spacing:0; color:#fff8ef; margin:12px 0 16px; }
.rt3-home-page #workshop .shw-heading > p:last-child { font-size:17px; line-height:1.75; color:#ddcdbd; max-width:780px; }
.rt3-home-page #workshop .shw-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; align-items:start; }
.rt3-home-page #workshop .shw-preview { position:relative; margin:0; border-radius:6px; overflow:hidden; aspect-ratio:4/3; background:#241910; }
.rt3-home-page #workshop .shw-preview > img { width:100%; height:100%; display:block; object-fit:cover; }
.rt3-home-page #workshop .shw-preview[tabindex] { touch-action:pan-y pinch-zoom; cursor:grab; user-select:none; }
.rt3-home-page #workshop .shw-preview.is-dragging { cursor:grabbing; }
.rt3-home-page #workshop .shw-expand { position:absolute; inset:0; display:block; background:transparent; border:0; color:#fff; cursor:zoom-in; -webkit-tap-highlight-color:transparent; }
.rt3-home-page #workshop .shw-expand span { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; font:30px/1 system-ui,sans-serif; text-shadow:0 1px 5px #000; }
.rt3-home-page #workshop .shw-preview.is-dragging .shw-expand { cursor:grabbing; }
.rt3-home-page #workshop .shw-expand:focus-visible { outline:3px solid #f0d7ae; outline-offset:-4px; }
.rt3-home-page #workshop .shw-preview figcaption { position:absolute; bottom:0; inset-inline:0; padding:22px; display:flex; gap:16px; align-items:center; background:linear-gradient(transparent,#1b1208e8); color:#fff; font-size:15px; line-height:1.5; }
.rt3-home-page #workshop [data-shw-count] { font-size:13px; font-variant-numeric:tabular-nums; color:#efcf9d; }
.rt3-home-page #workshop .shw-content { min-width:0; }
.rt3-home-page #workshop .shw-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.rt3-home-page #workshop .shw-step { display:block; min-width:0; padding:0 0 10px; border-bottom:2px solid #80634c; color:#fff4e5; text-decoration:none; cursor:pointer; }
.rt3-home-page #workshop .shw-step img { width:100%; aspect-ratio:4/3; height:auto; display:block; object-fit:cover; border-radius:4px; }
.rt3-home-page #workshop .shw-step > span { display:flex; align-items:baseline; gap:7px; margin-top:12px; }
.rt3-home-page #workshop .shw-step small { color:#dfb985; font-size:12px; }
.rt3-home-page #workshop .shw-step b { font-size:14px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
.rt3-home-page #workshop .shw-step[aria-pressed=true] { border-color:#f0d7ae; }
.rt3-home-page #workshop .shw-step[aria-pressed=true] img { outline:2px solid #f0d7ae; outline-offset:3px; }
.rt3-home-page #workshop :is(.shw-step,.shw-link,.shw-preview):focus-visible { outline:3px solid #f0d7ae; outline-offset:5px; }
.rt3-home-page #workshop .shw-description { margin-top:24px; min-height:130px; }
.rt3-home-page #workshop .shw-description h3 { font-size:28px; line-height:1.3; color:#fff8ef; letter-spacing:0; margin:0 0 12px; }
.rt3-home-page #workshop .shw-description p,.rt3-home-page #workshop .shw-visit > p { font-size:16px; line-height:1.75; color:#e3d4c4; margin:0; }
.rt3-home-page #workshop .shw-status { min-height:22px; margin:4px 0; font-size:14px; line-height:1.5; color:#f0d7ae; }
.rt3-home-page #workshop .shw-status:empty { visibility:hidden; }
.rt3-home-page #workshop .shw-visit { border-top:1px solid #80634c; padding-top:22px; margin-top:10px; }
.rt3-home-page #workshop .shw-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; margin-top:20px; padding:12px 20px; min-height:48px; border:1px solid #aa6b64; border-radius:4px; background:#74151b; color:#fff; font:600 15px/1.5 Inter,system-ui,sans-serif; text-decoration:none; transition:background-color .2s ease; }
.rt3-home-page #workshop .shw-link:hover { background:#4b0d12; }
.rt3-home-page #workshop .shw-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; color:#d8bfa6; font-size:13px; line-height:1.6; }
@media(max-width:1100px) {
 .rt3-home-page #workshop .shw-layout { gap:28px; grid-template-columns:1fr 1fr; }
 .rt3-home-page #workshop .shw-heading h2 { font-size:44px; }
 .rt3-home-page #workshop .shw-step > span { display:block; }
 .rt3-home-page #workshop .shw-step small { display:block; margin-bottom:3px; }
}
@media(max-width:820px) {
 .rt3-home-page #workshop .shw-layout { grid-template-columns:1fr; }
 .rt3-home-page #workshop .shw-heading h2 { font-size:38px; }
 .rt3-home-page #workshop .shw-description { min-height:110px; }
}
@media(max-width:480px) {
 .rt3-home-page #workshop .shw-heading h2 { font-size:34px; }
 .rt3-home-page #workshop .shw-heading > p:last-child { font-size:16px; }
 .rt3-home-page #workshop .shw-steps { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rt3-home-page #workshop .shw-step > span { display:flex; }
 .rt3-home-page #workshop .shw-preview figcaption { padding:20px 14px 14px; }
 .rt3-home-page #workshop .shw-link { width:100%; }
 .rt3-home-page #workshop .shw-description { min-height:150px; }
}
@media(prefers-reduced-motion:reduce) {
 .rt3-home-page #workshop .shw-link { transition:none; }
}

.rt3-home-page .shw-gallery { width:calc(100% - 48px); max-width:1280px; height:calc(100vh - 48px); height:calc(100dvh - 48px); max-height:960px; margin:auto; padding:0; border:1px solid #64564e; border-radius:6px; background:#181716; color:#fff8ef; font:15px/1.5 Inter,system-ui,sans-serif; overflow:hidden; overscroll-behavior:contain; }
.rt3-home-page .shw-gallery:not([open]) { display:none; }
.rt3-home-page .shw-gallery[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.rt3-home-page .shw-gallery::backdrop { background:#100d0aed; }
.rt3-home-page .shw-gallery * { box-sizing:border-box; }
.rt3-home-page .shw-gallery-bar { display:flex; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid #ffffff26; }
.rt3-home-page .shw-gallery-bar h3 { flex:1; min-width:0; margin:0; color:#fff8ef; font:500 20px/1.4 Inter,system-ui,sans-serif; letter-spacing:0; overflow-wrap:anywhere; }
.rt3-home-page .shw-gallery-bar > span { min-width:48px; text-align:center; font-variant-numeric:tabular-nums; }
.rt3-home-page .shw-gallery button { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #857b72; border-radius:4px; color:#fff8ef; background:transparent; cursor:pointer; font:26px/1 system-ui,sans-serif; letter-spacing:0; }
.rt3-home-page .shw-gallery button:hover { border-color:#f0d7ae; }
.rt3-home-page .shw-gallery button:focus-visible { outline:3px solid #f0d7ae; outline-offset:3px; }
.rt3-home-page .shw-gallery button:disabled { opacity:.4; cursor:default; }
.rt3-home-page .shw-gallery button[hidden] { display:none; }
.rt3-home-page .shw-gallery-stage { position:relative; min-width:0; min-height:0; overflow:hidden; }
.rt3-home-page .shw-gallery-pan { width:100%; height:100%; padding:16px 68px; overflow:auto; overscroll-behavior:contain; touch-action:pan-y pinch-zoom; }
.rt3-home-page .shw-gallery-pan img { display:block; width:100%; height:100%; max-width:none; max-height:none; margin:0; object-fit:contain; }
.rt3-home-page .shw-gallery-pan.is-zoomed { touch-action:pan-x pan-y pinch-zoom; }
.rt3-home-page .shw-gallery-pan.is-zoomed img { width:200%; height:200%; cursor:move; }
.rt3-home-page .shw-gallery-stage[aria-busy=true] .shw-gallery-pan { opacity:.45; }
.rt3-home-page .shw-gallery-status { position:absolute; top:50%; inset-inline:64px; margin:0; padding:12px; transform:translateY(-50%); background:#181716e8; color:#fff8ef; font:14px/1.6 Inter,system-ui,sans-serif; text-align:center; pointer-events:none; }
.rt3-home-page .shw-gallery-status:empty { display:none; }
.rt3-home-page .shw-gallery-prev,.rt3-home-page .shw-gallery-next { position:absolute; top:50%; transform:translateY(-50%); }
.rt3-home-page .shw-gallery-prev { left:12px; }
.rt3-home-page .shw-gallery-next { right:12px; }
.rt3-home-page .shw-gallery-thumbs { position:relative; display:flex; align-items:center; gap:12px; min-width:0; padding:14px 16px; overflow-x:auto; overscroll-behavior-x:contain; border-top:1px solid #ffffff26; }
.rt3-home-page .shw-gallery-thumbs::before,.rt3-home-page .shw-gallery-thumbs::after { content:''; margin:auto; }
.rt3-home-page .shw-gallery-thumbs button { width:96px; height:72px; border:2px solid transparent; padding:2px; opacity:.65; overflow:hidden; }
.rt3-home-page .shw-gallery-thumbs button[aria-current=true] { opacity:1; border-color:#f0d7ae; }
.rt3-home-page .shw-gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
@media(max-width:720px) {
 .rt3-home-page .shw-gallery { width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; border:0; border-radius:0; }
 .rt3-home-page .shw-gallery-bar { gap:8px; padding:calc(10px + env(safe-area-inset-top)) 12px 10px; }
 .rt3-home-page .shw-gallery-bar h3 { font-size:16px; }
 .rt3-home-page .shw-gallery-bar > span { font-size:13px; min-width:38px; }
 .rt3-home-page .shw-gallery-pan { padding:8px 0 56px; }
 .rt3-home-page .shw-gallery-prev,.rt3-home-page .shw-gallery-next { top:auto; bottom:6px; transform:none; }
 .rt3-home-page .shw-gallery-prev { left:calc(50% - 52px); }
 .rt3-home-page .shw-gallery-next { right:calc(50% - 52px); }
 .rt3-home-page .shw-gallery-thumbs { padding:10px 12px calc(10px + env(safe-area-inset-bottom)); gap:8px; }
 .rt3-home-page .shw-gallery-thumbs button { width:80px; height:60px; }
 .rt3-home-page .shw-gallery-status { inset-inline:16px; }
}
