
:root{--paper:#f6f2ea;--sand:#eae3d8;--ink:#29251f;--muted:#665e53;--bronze:#94764e;--line:#d4cabd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 "Microsoft YaHei","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button{color:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,h4{margin:0}h1,h2,h3,.brand,.address{font-family:"Songti SC","SimSun",serif}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a37640;outline-offset:4px}.skip{position:absolute;left:10px;top:-100px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.wrap{width:min(100% - 128px,1200px);margin-inline:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:700;line-height:1.2;letter-spacing:.1em;display:inline-flex;flex-direction:column}.brand small{font:10px/1.5 Georgia,serif;letter-spacing:.15em;margin-top:5px}.desktop-nav{display:flex;gap:36px;font-size:14px}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{color:var(--bronze)}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:580px;padding-bottom:48px}.hero-copy{padding:35px 35px 35px 0}.eyebrow{font-size:12px;letter-spacing:.14em;color:#745b3b;font-weight:600;margin-bottom:25px}.hero h1{font-size:clamp(42px,4.2vw,62px);line-height:1.34;letter-spacing:.04em}.hero-desc{color:var(--muted);margin-top:28px;line-height:1.9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 19px;border:1px solid var(--ink);font-size:14px;transition:background .25s,color .25s}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:#51483c}.button.secondary:hover{background:#e7dfd3}.hero-note{font-size:13px;color:var(--muted);margin-top:26px}.hero-note span{padding:0 5px}.hero-image img{width:100%;height:510px;object-fit:cover;object-position:center;border-radius:5px}.hero-image figcaption,.gallery figcaption,.extra-gallery figcaption,.storefront figcaption{font-size:12px;color:var(--muted);padding-top:10px;letter-spacing:.04em}.hero-image figcaption,.gallery-main figcaption{display:flex;justify-content:space-between}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:50px}.section-heading h2{font-size:clamp(34px,3.5vw,48px);line-height:1.35;letter-spacing:.05em}.section-heading>p{color:var(--muted);max-width:430px}.menus{display:grid;grid-template-columns:1fr 1fr;gap:70px}.menu-title{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--ink)}.menu-title h3{font-size:25px}.menu-title span{font:11px Georgia,serif;letter-spacing:.12em;color:var(--muted)}.service{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:21px 0}.service h4{font-size:17px;font-weight:600}.service p{font-size:14px;color:var(--muted);margin-top:4px}.service strong{font:26px/1.4 Georgia,serif;white-space:nowrap;font-variant-numeric:tabular-nums}.service strong small{font:14px "Microsoft YaHei",sans-serif}.service.featured{background:var(--sand);padding:20px;margin-top:12px;border:0}.tag{font-size:12px;color:#745b3b;letter-spacing:.08em}.section-foot{margin-top:30px;color:var(--muted);font-size:14px}.section-foot a{margin-left:20px;text-decoration:underline}.space-section{background:var(--sand)}.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:22px}.gallery-main{grid-row:span 2}.gallery figure{min-width:0}.photo{display:block;padding:0;border:0;background:transparent;width:100%;overflow:hidden;border-radius:5px}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.025)}.gallery-main .photo{height:535px}.gallery figure:not(.gallery-main) .photo{height:235px}.space-facts{display:flex;gap:60px;border-bottom:1px solid #c9beaf;padding:35px 0}.space-facts strong{font:28px Georgia,serif;margin-right:6px}.more-photos summary,.faq summary,.footer summary{list-style:none}.more-photos summary::-webkit-details-marker,.faq summary::-webkit-details-marker,.footer summary::-webkit-details-marker{display:none}.more-photos summary{padding:20px 0;display:flex;justify-content:space-between;font-weight:600}.extra-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.extra-gallery .photo{height:220px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.tiers article{padding:32px 30px 32px 0}.tiers article+article{border-left:1px solid var(--line);padding-left:30px}.tiers article>p:first-child{font-size:13px;color:var(--muted)}.tiers h3{font:40px Georgia,serif;margin:8px 0 25px}.tiers h3 small{font:15px sans-serif}.tiers p{margin:7px 0}.membership-note{font-size:14px;color:var(--muted);max-width:760px;margin-top:25px}.contact{background:#302b25;color:#f6f2ea}.contact .eyebrow{color:#d4b993}.contact .section-heading>p{color:#d1c6b8}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.label{font-size:12px;letter-spacing:.14em;color:#c3ad8f;margin-top:25px}.label:first-child{margin-top:0}.address{font-size:25px;margin-top:8px}.phone{display:inline-block;font:27px Georgia,serif;margin-top:8px}.wechat-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.wechat-line strong{font:24px Georgia,serif;user-select:all}.copy{min-height:44px;padding:8px 15px;background:transparent;color:white;border:1px solid #aa9e8f}.copy-feedback{font-size:13px;color:#ded4c7;margin-top:8px}.qr{width:190px;height:auto;margin-top:20px;background:white}.storefront img{width:100%;height:520px;object-fit:cover;border-radius:5px}.storefront figcaption{color:#d1c6b8}.faq{max-width:900px}.faq .section-heading{margin-bottom:30px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;font-weight:600}.faq summary:after{content:"＋";font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding:0 35px 22px 0}.footer{background:#e5ded3}.footer-inner{padding:45px 0;display:flex;justify-content:space-between;gap:30px}.footer p{font-size:13px;color:var(--muted);margin-top:10px}.footer details{max-width:320px}.footer summary{min-height:44px;display:flex;justify-content:space-between;gap:25px;align-items:center}.footer details img{width:180px;margin-top:15px}.footer details a{text-decoration:underline}.mobile-bar{display:none}.lightbox{border:0;padding:48px 20px 20px;background:#29251f;color:white;max-width:min(94vw,1000px);max-height:94vh;text-align:center}.lightbox::backdrop{background:rgba(20,17,13,.86)}.lightbox img{max-height:75vh;max-width:100%;width:auto;margin:auto}.lightbox p{margin-top:10px}.close-photo{position:absolute;right:15px;top:5px;min-height:44px;border:0;background:transparent;color:white}.lightbox:not([open]){display:none}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.desktop-nav{gap:18px}.hero-image img{height:450px}.menus{gap:35px}.gallery-main .photo{height:440px}.gallery figure:not(.gallery-main) .photo{height:188px}}
@media(max-width:700px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 40px)}.header{height:72px}.brand{font-size:20px}.brand small{font-size:9px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative;z-index:5}.mobile-nav summary{min-height:44px;display:flex;align-items:center;gap:12px;list-style:none;font-size:14px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:0;top:48px;width:190px;background:#f6f2ea;box-shadow:0 8px 25px #29251f24;padding:8px 18px}.mobile-nav nav a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}.mobile-nav nav a:last-child{border:0}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0}.hero-copy{padding:30px 0 28px}.eyebrow{margin-bottom:16px;font-size:11px}.hero h1{font-size:39px;line-height:1.35}.hero-desc{margin-top:18px}.desktop-break{display:none}.actions{margin-top:22px;gap:10px}.button{font-size:14px;padding:10px 14px;gap:14px}.hero-note{margin-top:18px;font-size:12px}.hero-image img{height:auto;aspect-ratio:4/3;object-fit:cover}.section{padding-top:56px;padding-bottom:56px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading>p{margin-top:16px}.menus{display:block}.menu+.menu{margin-top:45px}.service{padding:18px 0}.service.featured{padding:17px}.gallery{grid-template-columns:1fr 1fr;gap:20px 12px}.gallery-main{grid-column:span 2;grid-row:auto}.gallery-main .photo{height:auto;aspect-ratio:4/3}.gallery figure:not(.gallery-main) .photo{height:auto;aspect-ratio:4/3}.gallery figcaption{font-size:11px}.space-facts{gap:0;justify-content:space-between;padding:25px 0;font-size:12px}.space-facts strong{font-size:22px}.extra-gallery{grid-template-columns:1fr 1fr;gap:18px 12px}.extra-gallery .photo{height:auto;aspect-ratio:4/3}.tiers{display:block}.tiers article,.tiers article+article{border-left:0;border-bottom:1px solid var(--line);padding:22px 0}.tiers article:last-child{border:0}.tiers h3{font-size:34px;margin:4px 0 12px}.contact-grid{display:flex;flex-direction:column;gap:35px}.storefront img{height:auto;aspect-ratio:4/3}.footer-inner{display:block}.footer details{margin-top:25px}.mobile-bar{position:fixed;z-index:4;bottom:0;left:0;right:0;display:flex;gap:8px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:#f6f2ea;box-shadow:0 -4px 18px #29251f1a;transition:opacity .2s}.mobile-bar a{flex:1;min-height:48px;display:grid;place-items:center;border:1px solid var(--ink);font-size:14px}.mobile-bar a:last-child{background:var(--ink);color:white}.mobile-bar.hidden{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* 墨染国风：真实门店图片与水墨装饰分开呈现。 */
:root {
  --paper: #f5eee2;
  --sand: #eae0d0;
  --ink: #2c2823;
  --muted: #5f554b;
  --bronze: #8f6745;
  --line: #cabaa6;
  --seal: #793a2d;
}
body { background: var(--paper); }
.header { position: relative; border-bottom: 1px solid #cabaa6; }
.brand { color: #683326; }
.brand::before { content: "天宫"; position: absolute; width: 30px; height: 30px; display: grid; place-items: center; margin-left: -42px; margin-top: 3px; border: 1px solid #8c4c3c; color: #8c4c3c; font: 11px/1 serif; letter-spacing: 0; }
.hero { position: relative; isolation: isolate; }
.ink-landscape { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(245,238,226,.58), rgba(245,238,226,.75)), linear-gradient(transparent, transparent) center 58% / cover no-repeat; opacity: .72; pointer-events: none; }
.hero-copy { padding-left: 36px; }
.hero h1 { color: #302923; }
.hero-image { margin: 30px 30px 30px 0; padding: 9px; background: #f6efe3; border: 1px solid #c4b39d; box-shadow: 0 12px 30px #55433320; }
.hero-image img { border-radius: 0; }
.hero-image figcaption { padding: 10px 4px 1px; }
.eyebrow { color: #803d30; letter-spacing: .2em; }
.eyebrow::before { content: ""; display: inline-block; vertical-align: middle; width: 25px; height: 1px; background: #9a5d49; margin-right: 10px; }
.button.primary { background: #723b2e; border-color: #723b2e; }
.button.primary:hover { background: #52291f; }
.button.secondary { background: #f6efe3d9; border-color: #806b58; }
.section-heading h2 { color: #342820; }
.menu-title { border-top: 3px double #875540; border-bottom: 1px solid #875540; padding: 12px 0; color: #663629; }
.menu-title span { font-family: "Songti SC", "SimSun", serif; color: #7f6250; }
.service.featured { background: #eee3d3; border-left: 3px solid #8f4a39; }
.tag { color: #833d2f; }
.space-section { background: #eae0d0; border-block: 1px solid #d9cab7; }
.gallery .photo, .extra-gallery .photo, .storefront img { border-radius: 2px; }
.space-facts strong { color: #783d2d; }
.tiers { border-top: 3px double #875540; }
.tiers h3 { color: #723b2e; }
.contact { background: #332a24; }
.contact .section-heading h2 { color: #f7f0e5; }
.contact .brand { color: #f7f0e5; }
.footer { background: #e6d9c7; border-top: 1px solid #c8b7a1; }
.mobile-bar a:last-child { background: #723b2e; border-color: #723b2e; }
@media (max-width: 700px) {
  .brand::before { display: none; }
  .hero { width: 100%; }
  .hero-copy { padding: 30px 20px 28px; }
  .ink-landscape { inset: 0 0 auto; height: 490px; background-position: 55% top; }
  .hero-image { margin: 0 20px; padding: 7px; }
  .hero-image img { aspect-ratio: 4 / 3; }
  .mobile-bar { background: #f5eee2; }
}

/* 竹溪庭院与宣纸长卷 */
.hero { overflow: hidden; }
.hero-copy, .hero-image { position: relative; z-index: 1; }
.hero-bamboo { position: absolute; z-index: 0; top: 0; width: 21%; height: 46%; pointer-events: none; overflow: hidden; }
.bamboo-left { left: 0; }
.bamboo-right { right: 0; transform: scaleX(-1); }
.branch { position: absolute; left: -25%; top: -8%; width: 150%; height: 100%; background: linear-gradient(transparent, transparent) left top / contain no-repeat; transform-origin: 5% 4%; opacity: .64; }
.branch-b, .branch-d { width: 94%; top: 11%; left: -20%; opacity: .5; transform: rotate(9deg); }
.motion-on .branch-a { animation: bamboo-a 7s ease-in-out infinite alternate; }
.motion-on .branch-b { animation: bamboo-b 9s -3s ease-in-out infinite alternate; }
.motion-on .branch-c { animation: bamboo-a 10s -4s ease-in-out infinite alternate-reverse; }
.motion-on .branch-d { animation: bamboo-b 8s -2s ease-in-out infinite alternate-reverse; }
@keyframes bamboo-a { from { transform: rotate(-.6deg); } to { transform: rotate(1.2deg); } }
@keyframes bamboo-b { from { transform: rotate(8deg); } to { transform: rotate(10deg); } }
.motion-toggle { display: block; margin: 12px max(20px, calc((100% - 1200px)/2)) 0 auto; min-height: 44px; border: 0; background: transparent; color: #60564a; font-size: 13px; }
.garden-section { overflow: hidden; background: #e9e2d7; padding: 96px 0; }
.garden-frame { position: relative; }
.garden-intro { max-width: 950px; margin: 0 auto 40px; }
.garden-intro h2 { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.3; font-weight: 500; letter-spacing: .05em; }
.garden-intro>p:last-child { color: var(--muted); margin-top: 16px; }
.scroll-paper { position: relative; z-index: 2; max-width: 950px; margin: auto; background: #f9f4eaf7; border: 1px solid #b59b7b; outline: 1px solid #d2bfa4; outline-offset: -8px; padding: 48px 56px; box-shadow: 0 12px 30px #55433315; }
.scroll-group+ .scroll-group { margin-top: 46px; }
.scroll-group h3 { font-size: 28px; color: #694838; border-bottom: 2px solid #937b60; padding-bottom: 12px; }
.scroll-group table { border-collapse: collapse; table-layout: fixed; width: 100%; }
.col-name { width: 54%; }.col-time { width: 21%; }.col-price { width: 25%; }
.scroll-group th, .scroll-group td { border-bottom: 1px solid #dacdbb; padding: 17px 0; vertical-align: top; }
.scroll-group thead th { font-size: 13px; color: #75614d; font-weight: 400; text-align: left; padding: 11px 0; }
.scroll-group thead th:nth-child(2), .time { text-align: center; white-space: nowrap; }
.scroll-group thead th:last-child, .price { text-align: right; white-space: nowrap; }
.scroll-group tbody th { text-align: left; padding-right: 14px; font-weight: 500; }
.item-name { display: block; font-size: 17px; font-weight: 600; }
.item-desc { display: block; font-size: 14px; color: #665d51; line-height: 1.6; margin-top: 4px; font-weight: 400; }
.price { font-size: 20px; line-height: 1.7; }
.price span, .time, .tiers h3, .tiers strong, .space-facts strong, .phone { font-family: Arial, sans-serif; font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; }
.price small { font-size: 14px; vertical-align: baseline; }
.scroll-note { margin-top: 22px; font-size: 14px; color: var(--muted); }
.stream-scene { position: relative; width: 100%; height: 380px; margin-top: -15px; overflow: hidden; background: #cbd1c6; touch-action: pan-y; }
.stream-art { position: absolute; inset: 0; background: linear-gradient(transparent, transparent) center 70% / cover no-repeat; }
.stream-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.scene-label, .stream-hint { position: absolute; bottom: 12px; color: white; background: #262c24b8; padding: 3px 9px; font-size: 12px; }
.scene-label { left: 14px; }.stream-hint { right: 14px; }
@media(max-width:700px) {
 .hero-bamboo { width: 25%; height: 170px; opacity: .55; }
 .bamboo-left { top: 0; left: -10%; }.bamboo-right { top: 0; right: -10%; }
 .hero-copy { z-index: 1; }
 .garden-section { padding: 56px 0; }
 .garden-frame { width: calc(100% - 30px); }
 .garden-intro { margin: 0 5px 28px; }
 .scroll-paper { padding: 25px 15px; outline-offset: -5px; }
 .scroll-group h3 { font-size: 24px; }
 .scroll-group th, .scroll-group td { padding-top: 14px; padding-bottom: 14px; }
 .scroll-group tbody th { padding-right: 7px; }
 .item-name { font-size: 16px; }.item-desc { font-size: 13px; }
 .time { font-size: 13px; }.price { font-size: 17px; }.price small { font-size: 13px; }
 .col-name { width: 53%; }.col-time { width: 23%; }.col-price { width: 24%; }
 .stream-scene { height: 220px; }.stream-hint { display: none; }
}
@media(prefers-reduced-motion:reduce) { .branch { animation: none !important; } }
.hero-bamboo { width: 11%; }
.hero-copy { padding-left: 36px; }
.hero-bamboo .branch { width: 180%; }
.motion-on:not(.hero-active) .branch { animation-play-state: paused; }
.motion-on.gust .branch-a, .motion-on.gust .branch-c { animation-duration: 4s; }
.motion-on.gust .branch-b, .motion-on.gust .branch-d { animation-duration: 5s; }
@media(max-width:700px) { .hero-bamboo { width: 22%; } }
/* The toggle can explicitly enable motion even when the operating system defaults to reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .motion-on.hero-active .branch-a { animation: bamboo-a 7s ease-in-out infinite alternate !important; }
  .motion-on.hero-active .branch-b { animation: bamboo-b 9s -3s ease-in-out infinite alternate !important; }
  .motion-on.hero-active .branch-c { animation: bamboo-a 10s -4s ease-in-out infinite alternate-reverse !important; }
  .motion-on.hero-active .branch-d { animation: bamboo-b 8s -2s ease-in-out infinite alternate-reverse !important; }
}
@media (min-width: 701px) { .bamboo-left { left: -7%; } .bamboo-right { right: -7%; } }
.item-name, .time, .price { line-height: 28px; }
@media (min-width: 1000px) {
  .garden-frame::before { content: ""; position: absolute; inset: 230px -3vw 300px; background: linear-gradient(180deg, #e9e2d7, transparent 18%, transparent 82%, #e9e2d7), linear-gradient(transparent, transparent) center / cover no-repeat; opacity: .48; pointer-events: none; }
  .garden-intro { position: relative; z-index: 1; }
}
@media (min-width: 701px) { .stream-scene { height: min(48vw, 600px); } .stream-art { background-position: center 40%; } }
/* Avoid repeating the landscape behind the scroll; the scene remains a separate, clearly labelled illustration. */
.garden-frame::before { display: none; }
/* 叶簇与竹枝分层，支点落在细枝连接附近。 */
.leaf-cluster { position: absolute; width: 46%; height: 47%; left: 20%; top: 16%; background: linear-gradient(transparent, transparent) center / contain no-repeat; transform-origin: 90% 10%; opacity: .78; }
.cluster-b, .cluster-d { left: 6%; top: 18%; width: 39%; }
.motion-on.hero-active .cluster-a { animation: leaf-lag-a 6.2s -.8s ease-in-out infinite alternate; }
.motion-on.hero-active .cluster-b { animation: leaf-lag-b 8.1s -2.3s ease-in-out infinite alternate; }
.motion-on.hero-active .cluster-c { animation: leaf-lag-b 7.3s -3.1s ease-in-out infinite alternate-reverse; }
.motion-on.hero-active .cluster-d { animation: leaf-lag-a 9.2s -1.1s ease-in-out infinite alternate-reverse; }
@keyframes leaf-lag-a { from { transform: rotate(-.8deg) scaleX(.994); } to { transform: rotate(1.2deg) scaleX(1); } }
@keyframes leaf-lag-b { from { transform: rotate(.7deg) scaleX(.996); } to { transform: rotate(-1deg) scaleX(1); } }
.motion-on.gust .leaf-cluster { animation-duration: 4.8s; }
@media(prefers-reduced-motion:reduce) { .motion-on.hero-active .leaf-cluster { animation-duration: 7s !important; } }
.bamboo-left { transform: rotate(calc(var(--gust, 0) * .7deg)); transform-origin: 0 0; }
.bamboo-right { transform: scaleX(-1) rotate(calc(var(--gust, 0) * .6deg)); transform-origin: 100% 0; }
.motion-on.gust .branch-a, .motion-on.gust .branch-c { animation-duration: 7s; }
.motion-on.gust .branch-b, .motion-on.gust .branch-d { animation-duration: 9s; }
.motion-on.gust .leaf-cluster { animation-duration: 7s; }
/* Continuous watercolor surface: text and real photos remain independent HTML. */
.watercolor-fallback, .watercolor-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.watercolor-fallback { z-index: -3; background: #f6f1e6; }
.watercolor-canvas { z-index: -2; }
body { background: transparent; isolation: isolate; }
.hero, .garden-section, .space-section, .contact, .footer { background: transparent; border: 0; }
.scroll-paper { background: transparent; border: 0; outline: 0; box-shadow: none; }
.hero-image { box-shadow: none; }
.contact { color: #29251f; }
.contact .section-heading h2 { color: #29251f; }
.contact .section-heading > p, .storefront figcaption { color: #5f554b; }
.contact .eyebrow, .label { color: #704836; }
.copy { color: #29251f; border-color: #806e5b; }
.copy-feedback { color: #5f554b; }
.qr { background: #fff; padding: 8px; }
.art-note { text-align: right; color: #6b6257; font-size: 12px; margin-top: 30px; }
.watercolor-fallback::before { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, transparent) left top / 58% auto no-repeat, radial-gradient(ellipse at 68% 85%, #dce6df 0, transparent 50%); opacity: .2; }
/* Secondary copy remains readable against the strongest painted washes. */
:root { --muted: #51483e; }
.item-desc, .copy-feedback, .contact .section-heading > p, .storefront figcaption, .art-note { color: #51483e; }
/* When WebGL is unavailable, retain the same paper and watercolor motifs. */
.watercolor-fallback::before {
  background-image: linear-gradient(transparent, transparent), linear-gradient(transparent, transparent), linear-gradient(transparent, transparent), radial-gradient(ellipse at 60% 85%, #cbded7 0, transparent 55%);
  background-position: left top, right 40%, 90% 72%, center;
  background-size: 65% auto, 60% auto, 28% auto, 100% 100%;
  background-repeat: no-repeat;
  opacity: .23;
}
.motion-toggle[hidden] { display: none; }
.nowrap { white-space: nowrap; }
body { font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; }
.hero-note { font-family: Arial, "Microsoft YaHei", "PingFang SC", sans-serif; }
@media (max-width: 700px) {
  .item-desc, .time, .scroll-note, .membership-note, .copy-feedback { font-size: 16px; }
  .gallery figcaption, .extra-gallery figcaption, .storefront figcaption { font-size: 14px; }
}
.contact .label { color: #51382e; }
