/* WEB49: scoped entry audio control and original factory presentation. */
.home-page .entry-sound-button {
 position:absolute; top:max(16px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right));
 display:inline-flex; align-items:center; gap:10px; min-height:48px; min-width:48px;
 padding:8px 12px; border:0; background:transparent; color:#d9bf83;
 font:400 15px/1.65 'Kanit',sans-serif; cursor:pointer;
}
.home-page .entry-sound-button:hover { color:#ffdfa0; }
.home-page .entry-sound-button:focus-visible { outline:2px solid #e5c483; outline-offset:4px; }
.entry-sound-button svg { width:22px; height:22px; flex:none; }
.entry-sound-button .sound-on { display:none; }
.entry-sound-button[aria-pressed="true"] .sound-on { display:block; }
.entry-sound-button[aria-pressed="true"] .sound-off { display:none; }
.home-page .entry-sound-button[hidden],.factory-section [hidden] { display:none!important; }
.entry-sound-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.home-page #factory { padding-block:clamp(40px,6vw,80px); background:#092017; color:#e6e9dd; scroll-margin-top:110px; }
.home-page .factory-heading { max-width:800px; margin-bottom:32px; }
.home-page .factory-heading .eyebrow { color:#d9ba7b; }
.home-page .factory-heading .section-title { color:#efe5cc; font-size:clamp(28px,3.5vw,46px); line-height:1.55; font-weight:500; }
.home-page .factory-layout { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start; }
.home-page .factory-photo { min-width:0; margin:0; }
.home-page .factory-photo > a { display:block; border-radius:14px; overflow:hidden; background:#152e22; box-shadow:0 18px 40px #0004; }
.home-page .factory-photo img { display:block; width:100%; height:auto; object-fit:contain; border:0; border-radius:0; }
.home-page .factory-photo figcaption { padding:12px 2px; font-size:13px; color:#b9c9b9; line-height:1.65; }
.home-page .factory-photo-fallback { padding:32px; min-height:180px; display:flex; align-items:center; background:#193629; color:#e0d9c0; border-radius:14px; line-height:1.75; }
.home-page .factory-copy { min-width:0; }
.home-page .factory-company { margin:0 0 22px; color:#edcd8e; font-size:clamp(20px,2vw,26px); line-height:1.65; font-weight:500; }
.home-page .factory-details { margin:0; }
.home-page .factory-details > div { padding:18px 0; border-top:1px solid #52614a; }
.home-page .factory-details dt { color:#b7c8b5; font-size:14px; margin-bottom:8px; }
.home-page .factory-details dd { margin:0; color:#e6e9dd; }
.home-page .factory-copy address { font-style:normal; color:#e0e5d6; font-size:17px; line-height:1.8; }
.home-page .factory-phone { min-height:48px; color:#edcd8e; font-size:22px; text-decoration:underline; text-underline-offset:6px; }
.home-page .factory-actions { display:grid; gap:12px; margin-top:20px; }
.home-page .factory-actions .btn { width:100%; min-height:52px; font-size:16px; white-space:normal; line-height:1.65; }
.home-page .factory-more { display:inline-flex; align-items:center; min-height:48px; justify-self:start; color:#e6ca8f; text-underline-offset:6px; font-size:16px; }
.home-page .factory-source { margin-top:16px; color:#b9c9b9; font-size:14px; line-height:1.75; }
.home-page #factory :is(a,button):focus-visible { outline:3px solid #f0ce87; outline-offset:4px; }
@media(max-width:820px) {
 .home-page .factory-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .home-page .factory-heading { margin-bottom:24px; }
 .home-page .factory-copy { padding:0; }
 .home-page .factory-company { margin-bottom:16px; }
}
@media(max-height:500px) { .home-page .entry-sound-button { top:6px; right:10px; font-size:14px; } }

/* WEB58: actual current game screenshots; only the homepage garden section. */
.home-page #garden .home-minigame-band { grid-template-columns: minmax(0,1fr); gap: 30px; padding: clamp(20px,3.5vw,40px); background: linear-gradient(135deg,#143629,#0d241b); border: 1px solid #80714c; border-radius: 14px; }
.home-page #garden .home-minigame-copy { max-width: 850px; }
.home-page #garden .home-minigame-kicker { font-family: 'Kanit',sans-serif; color: #d9bb79; font-weight: 400; }
.home-page #garden .section-title { font-size: clamp(27px,3.2vw,40px); line-height: 1.55; font-weight: 500; color: #efe6cf; }
.home-page #garden .section-copy { color: #c4d2c0; line-height: 1.8; }
.home-page #garden .home-minigame-features { margin-block: 20px; gap: 10px; }
.home-page #garden .home-minigame-features span { border-color: #8c7950; background: #213e2f; color: #e6d6ae; font-size: 15px; }
.home-page #garden .home-minigame-note { color: #bdcbb9; font-size: 14px; line-height: 1.65; }
.home-garden-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; min-width: 0; }
.home-page #garden .home-garden-preview { min-height: 0; border: 1px solid #9b8855; border-radius: 10px; background: #10281d; }
.home-garden-preview img { display: block; width: 100%; height: auto; aspect-ratio: 8/5; object-fit: contain; }
.home-page #garden .home-garden-preview figcaption { position: static; max-width: none; padding: 16px 18px; border: 0; border-radius: 0; background: #10281d; box-shadow: none; }
.home-page #garden .home-garden-preview figcaption strong { font-family: 'Kanit',sans-serif; font-size: 18px; font-weight: 500; color: #e0c58c; }
.home-page #garden .home-garden-preview figcaption > span { margin-top: 6px; font-size: 14px; color: #bfd0bc; }
.home-page #garden .home-garden-preview:hover { border-color: #eed69a; }
.home-page #garden .home-garden-preview:focus-visible { outline: 3px solid #f0ce87; outline-offset: 4px; }
@media(max-width:700px) { .home-garden-gallery { grid-template-columns: minmax(0,1fr); gap: 18px; } .home-page #garden .home-minigame-band { gap: 24px; } }
