:root{--cream:#f7f2e9;--paper:#fff;--pink:#e8dbc8;--rose:#805a3e;--red:#473326;--ink:#29231f;--muted:#74675a;--line:#d9cbbb;--max:1220px;--head:118px}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--head)}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Noto Sans JP",Arial,sans-serif;line-height:1.85;font-size:17px}a{color:var(--red);text-underline-offset:.2em}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #62482f;outline-offset:4px}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{line-height:1.4;letter-spacing:.01em;overflow-wrap:anywhere}h1{font-size:clamp(2.25rem,4.4vw,4.8rem);margin:.3em 0}h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:.25em 0 .7em}h3{font-size:1.35rem;margin:.7em 0}h4{font-size:1.05rem}p{margin:.65em 0 1em}ul,ol{padding-left:1.4em}li+li{margin-top:.35em}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.header{position:sticky;top:0;z-index:20;background:#f7f2e9f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.mast{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}.brand{font-weight:850;letter-spacing:.04em;text-decoration:none;line-height:1.3}.brand small{display:block;font-size:.65em;letter-spacing:.12em;font-weight:650;color:var(--muted)}.lang{display:flex;gap:12px;align-items:center;font-size:.85rem;white-space:nowrap}.lang a{padding:3px 6px;text-decoration:none}.lang [aria-current]{background:var(--pink);border-radius:5px;color:var(--red)}.desktop-nav{display:flex;justify-content:space-between;gap:4px}.nav-group{position:relative}.nav-group>button{border:0;background:none;padding:10px 7px;color:var(--ink);font-size:.88rem;white-space:nowrap}.nav-sub{display:none;position:absolute;top:100%;left:0;background:var(--paper);padding:10px;min-width:200px;box-shadow:0 8px 30px #3a2b1d20;border:1px solid var(--line);border-radius:0 0 14px 14px}.nav-sub a{display:block;text-decoration:none;padding:7px 12px;line-height:1.4;font-size:.92rem}.nav-group.is-open>.nav-sub{display:block}.nav-group:last-child>.nav-sub{left:auto;right:0}a[aria-current="location"]{font-weight:800;color:var(--red);background:var(--pink);border-radius:6px}.menu-open{display:none;border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:8px;padding:6px 12px}.local-band{font-size:.76rem;background:var(--pink);text-align:center;padding:6px 18px;line-height:1.5}.hero{padding:44px 0 66px;background:radial-gradient(ellipse at 5% 5%,#c7a77c44,transparent 70%)}.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:40px}.eyebrow{color:var(--rose);font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero .lead{font-size:1.15rem}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);border:1px solid var(--red);color:#fff;border-radius:50px;padding:11px 22px;text-decoration:none;line-height:1.5;font-size:.95rem;font-weight:700}.btn.secondary{background:var(--paper);color:var(--red);border-color:var(--line)}.section{padding:76px 0;border-top:1px solid var(--line);scroll-margin-top:16px}.section:nth-of-type(even){background:#fff}.section-head{max-width:860px;margin-bottom:32px}.intro{font-size:1.08rem;color:var(--muted)}.grid{display:grid;gap:24px;align-items:start}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:24px;min-width:0}.card.soft{background:#f4ecdf}.card>figure:first-child{margin-top:0}.card ul{font-size:.96rem}.figure{margin:18px 0 24px;min-width:0}.image-button{display:block;background:#f4ecdf;border:0;padding:0;border-radius:16px;overflow:hidden;width:100%;cursor:zoom-in}.image-button img{width:100%;height:auto;object-fit:contain}.figure figcaption{font-size:.78rem;line-height:1.65;color:var(--muted);margin:9px 3px 0}.figure.compact .image-button img{max-height:520px;object-fit:contain}.price{font-size:2rem;font-weight:850;color:var(--red);line-height:1.25;margin:14px 0}.price small{display:block;font-size:.75rem;font-weight:500;margin-bottom:5px;color:var(--muted)}.facts{margin:20px 0;font-size:.93rem}.facts>div{display:grid;grid-template-columns:minmax(95px,35%) 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #e2d7c8}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.facts dd strong{font-weight:700}.note{padding:22px 26px;border-left:4px solid var(--rose);background:#eee1ce;border-radius:0 14px 14px 0;margin:26px 0}.fine{font-size:.83rem;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0}.metrics>div{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:center}.metrics strong{font-size:2rem;color:var(--red);display:block;line-height:1.3}.metrics span{font-size:.85rem}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.pills a{padding:7px 16px;border:1px solid var(--line);border-radius:30px;text-decoration:none;background:white;font-size:.9rem}.city{scroll-margin-top:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:.87rem;line-height:1.65}.table th,.table td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-weight:700}.table strong{white-space:nowrap}.schedule{list-style:none;padding:0}.schedule li{display:grid;grid-template-columns:125px 1fr;gap:18px;border-top:1px solid var(--line);padding:18px 0}.schedule time{color:var(--red);font-weight:800}.qa{padding:22px 0;border-bottom:1px solid var(--line)}.qa h3{font-size:1.12rem;margin:0 0 8px}.qa p{margin:0}.work{margin:36px 0;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;scroll-margin-top:16px}.work-header{padding-bottom:18px;border-bottom:1px solid var(--line)}.work-body{margin:22px 0}.work .full-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.95rem;margin:18px 0}.work-tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.work-tools button,.work-tools a{background:#f4ecdf;color:var(--red);border:1px solid var(--line);border-radius:30px;padding:8px 15px;font-size:.85rem;text-decoration:none;line-height:1.6}.status{display:inline-block;background:var(--pink);color:var(--red);font-size:.76rem;padding:4px 10px;border-radius:6px}.empty-art{border:1px dashed #b89d78;padding:30px;border-radius:14px;background:repeating-linear-gradient(45deg,#faf5ed,#faf5ed 8px,#f0e5d6 8px,#f0e5d6 16px)}.empty-art p{font-size:.9rem}.study-table{font-size:.85rem}.source{font-size:.83rem;border-top:1px solid var(--line);padding-top:12px;overflow-wrap:anywhere}.top-button{position:fixed;right:20px;bottom:20px;z-index:15;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:0 4px 18px #3a2b1d18;color:var(--red);text-decoration:none;text-align:center;line-height:42px}.footer{padding:45px 0;background:#e8dbc8;font-size:.85rem}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:80vw;background:var(--ink);color:#fff;border-radius:30px;padding:9px 20px;z-index:70;font-size:.9rem}.toast[hidden]{display:none}dialog{border:0;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#241d16bb}.zoom-dialog{width:min(94vw,1500px);height:fit-content;max-height:94vh;padding:52px 12px 12px;border-radius:14px;background:var(--cream)}.zoom-dialog img{object-fit:contain;max-height:calc(94vh - 100px);margin:auto;max-width:100%;height:auto;width:auto}.zoom-dialog p{font-size:.85rem;text-align:center;margin:6px 0}.dialog-close{position:absolute;right:15px;top:10px;border:1px solid var(--line);border-radius:22px;background:#fff;padding:4px 13px;color:var(--ink)}.drawer{margin:0 0 0 auto;max-height:100dvh;height:100dvh;width:min(90vw,440px);background:var(--cream);padding:64px 24px 30px}.drawer h3{margin:15px 0 5px;font-size:1rem}.drawer a{display:block;padding:7px 0;text-decoration:none;font-size:.94rem}.drawer .drawer-group{border-bottom:1px solid var(--line);padding:12px 0}.copyright-state{font-size:.8rem;color:var(--muted)}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-grid>div{border:1px solid var(--line);background:#f7f0e5;border-radius:10px;padding:13px;font-size:.9rem}.form-card{border-top:4px solid var(--rose)}.story-card{padding:0;overflow:hidden}.story-card>.copy{padding:0 24px 24px}.story-card figure{margin:0}.story-card figcaption{padding:0 18px}.anchor-alias{scroll-margin-top:16px}@media(max-width:1080px){:root{--head:80px}.desktop-nav{display:none}.menu-open{display:inline-block}.mast{min-height:70px}.hero-grid{gap:25px}.four{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{width:calc(100% - 48px)}}@media(max-width:700px){:root{--head:76px}body{font-size:16px}.wrap{width:calc(100% - 32px)}.mast{gap:10px;min-height:66px}.brand{font-size:.87rem}.brand small{font-size:.59rem}.lang{gap:3px;font-size:.73rem}.lang a{padding:3px 4px}.menu-open{font-size:.78rem;padding:5px 9px}.hero{padding:26px 0 40px}.hero-grid{display:flex;flex-direction:column-reverse;gap:16px}.hero .figure{margin:0}.hero h1{font-size:2.2rem}.hero .lead{font-size:1.03rem}.section{padding:48px 0}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr;gap:20px}.card{padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}.section-head{margin-bottom:22px}.work{padding:20px;margin:24px 0}.price{font-size:1.8rem}.facts>div{grid-template-columns:35% 1fr}.schedule li{grid-template-columns:95px 1fr;gap:10px}.mini-grid{grid-template-columns:repeat(3,1fr);gap:6px}.mini-grid>div{padding:8px;font-size:.8rem}.top-button{right:10px;bottom:12px;width:38px;height:38px;line-height:36px}.figure.compact .image-button img{max-height:none}.actions .btn{padding:10px 17px}.local-band{font-size:.69rem}.table{font-size:.77rem}.table th,.table td{padding:9px 5px}.story-card>.copy{padding:0 20px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The official research illustration is only 400px wide. Never enlarge the source. */
figure[data-asset-id="HK-V55-KEEP-8558ec918fc5"] .image-button{display:block;max-width:400px;margin-inline:auto}

.hero h1{text-wrap:balance}
@media(min-width:701px){.hero h1{font-size:clamp(2.25rem,3.2vw,3rem)}}

/* LOCAL-R03 visual repair: prioritize complete existing scenes and readable product scale. */
.section#missions .scene-figure .image-button,
.section#venue .scene-figure .image-button { background:#fff; }
.section#missions .scene-figure img,
.section#venue .scene-figure img { width:100%; aspect-ratio:3 / 2; object-fit:contain; }
.section#missions .figure,
.section#venue .figure { margin-block:20px 28px; }
.section#plans .figure img { width:100%; min-height:300px; object-fit:contain; }
.section#gifts .figure img { width:100%; min-height:300px; object-fit:contain; }
.section#peripherals .figure img { width:100%; min-height:260px; object-fit:contain; }
@media(max-width:700px){
 .section#plans .figure img,.section#gifts .figure img,.section#peripherals .figure img { min-height:0; }
}

/* LOCAL-R04 visual QA fixes: give four paddle-face cards and product cards a readable stage. */
.section#design-specs > .wrap > .grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.section#design-specs > .wrap > .grid.four .figure img { min-height:360px; object-fit:contain; }
.section#peripherals .figure img,
.section#gifts .figure img { aspect-ratio:3 / 2; object-fit:contain; }
@media(max-width:700px){
 .section#design-specs > .wrap > .grid.four { grid-template-columns:1fr; }
 .section#design-specs > .wrap > .grid.four .figure img { min-height:0; }
}
