:root{--paper:#f6efe4;--ink:#2c2620;--muted:#6f6353;--line:#e0d4c2}body{background:var(--paper);color:var(--ink)}.area-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 6%;border-bottom:1px solid var(--line)}.area-brand{font-family:var(--serif);font-size:43px;line-height:1;text-decoration:none;letter-spacing:-.05em}.area-brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.15em;margin-top:10px}.area-header nav{display:flex;gap:32px;font-size:14px}.area-header a{text-decoration:none}.area-header select{border:0;background:none;color:inherit;font-size:14px;max-width:110px;padding:10px 0}.area-intro{max-width:1500px;margin:auto;padding:60px 6% 65px;display:grid;grid-template-columns:1fr .9fr;gap:9%;align-items:center}.area-back{font-size:14px;text-decoration:none;display:inline-block;margin-bottom:54px}.eyebrow{font-size:12px;letter-spacing:.15em;color:#87795f;line-height:1.8}.area-intro h1{font-family:var(--serif);font-size:clamp(46px,5.2vw,76px);line-height:1.12;font-weight:400;margin:24px 0}.area-intro p:not(.eyebrow){font-size:17px;line-height:1.9;max-width:520px;color:var(--muted)}.area-intro figure{margin:0}.area-intro img{width:100%;height:460px;object-fit:cover;object-position:65% center}.area-intro figcaption{font-size:12px;letter-spacing:.08em;line-height:1.7;margin-top:14px}.intro-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}.intro-links a{font-size:14px;text-decoration:none;border-bottom:1px solid #c9b99a;padding:0 0 8px}.hotel-origin{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 30px;padding:24px 6%;background:#2b241c;color:white;font-size:14px}.hotel-origin>span:first-child{font-size:12px;letter-spacing:.12em;color:#d0c8b4}.hotel-origin strong{font-weight:400}.hotel-origin button{background:none;border:0;border-bottom:1px solid #d0c0a2;color:white;font-size:14px;padding-bottom:4px}.area-section{max-width:1500px;margin:auto;padding:85px 6%;scroll-margin-top:24px}.area-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:end;margin:22px 0 38px}.area-heading h2,.transit-section h2,.area-contact h2{font-size:50px;font-family:var(--serif);font-weight:400;line-height:1.18}.area-heading p,.area-contact p:not(.eyebrow){font-size:16px;line-height:1.95;color:var(--muted)}.museum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}.museum-card{padding:30px 0 28px;border-top:1px solid var(--line);min-width:0}.museum-card .place-number{font-family:var(--serif);font-size:28px;color:#a59b85}.museum-card h3{font-size:24px;line-height:1.4;font-weight:400;margin:20px 0 14px}.museum-card p,.merchant-card p{font-size:16px;line-height:1.8;color:var(--muted)}.place-address{display:block;font-size:14px;line-height:1.8;margin-top:17px;color:#6f6353}.place-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.place-links a,.place-links button{font-size:14px;background:none;border:0;border-bottom:1px solid #d6c9b5;text-decoration:none;color:var(--ink);padding:0 0 5px;cursor:pointer}.place-meta{font-size:12px;display:block;color:#85785f;margin-top:20px}.section-note{font-size:14px;line-height:1.85;color:var(--muted);margin-top:24px;max-width:1000px}.hong-section{background:#f0e7d8;max-width:none;padding-left:max(6%,calc((100% - 1320px)/2));padding-right:max(6%,calc((100% - 1320px)/2))}.merchant-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.merchant-filters button,.travel-modes button{font-size:14px;padding:11px 20px;background:none;border:1px solid #d6c9b5;color:var(--ink);cursor:pointer}.merchant-filters [aria-pressed=true],.travel-modes [aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.merchant-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.merchant-card{padding:30px 34px;background:var(--paper)}.merchant-card .eyebrow{font-size:12px}.merchant-card h3{font-size:25px;line-height:1.4;font-weight:400;margin:16px 0}.merchant-card .merchant-status{font-size:13px;margin-top:14px}.transit-section h2{margin-top:22px}.transit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:42px}.transit-card{border-top:1px solid var(--line);padding-top:24px}.line-badge{display:inline-block;min-width:42px;font-size:19px;text-align:center;padding:5px 12px;color:white;background:#50778f;margin-bottom:20px}.line-badge.line-2{background:#709645}.line-badge.bus{background:#81765f}.transit-card h3{font-size:22px;font-weight:400;margin-bottom:15px;line-height:1.5}.transit-card p{font-size:16px;line-height:1.85;color:var(--muted)}.route-section{background:#f0e7d8;max-width:none;padding-left:max(6%,calc((100% - 1320px)/2));padding-right:max(6%,calc((100% - 1320px)/2))}.route-section .area-heading{margin-top:0}.route-section .area-heading .eyebrow{margin-bottom:22px}.route-planner{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--paper)}.route-controls{padding:40px;border-right:1px solid var(--line)}.route-origin{font-size:12px;letter-spacing:.07em;color:#82765e;display:block;line-height:1.8;margin-bottom:30px}.route-controls label{font-size:16px;display:block;margin-bottom:14px}.route-controls select{font-size:16px;width:100%;padding:14px 10px;background:white;border:1px solid #d6c9b5;color:var(--ink)}.travel-modes{display:flex;margin:22px 0;gap:8px}.travel-modes button{flex:1;padding-left:10px;padding-right:10px}.route-controls p{font-size:14px;color:var(--muted);line-height:1.9}.route-controls>a{display:inline-block;font-size:14px;line-height:1.8;margin-top:25px}.route-result{padding:40px}.route-result h3{font-size:28px;font-weight:400;line-height:1.4}.route-time{font-family:var(--serif);font-size:53px;line-height:1.25;margin:18px 0 7px}.route-time small{font-size:22px}.route-estimate{font-size:13px;color:var(--muted);margin-bottom:23px}.route-result ol{padding-left:23px;display:grid;gap:13px;font-size:16px;line-height:1.8;margin-top:23px}.route-result .route-address{border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:14px;line-height:1.85}.route-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.route-actions a{padding:11px 18px;border:1px solid #6f6353;text-decoration:none;font-size:14px;line-height:1.5}.route-actions a:first-child{background:var(--ink);color:white}.area-contact{text-align:center;background:#2b241c;color:#f6efe4;padding:75px 7%}.area-contact .eyebrow{color:#d0c8b4}.area-contact h2{margin:23px 0}.area-contact p:not(.eyebrow){color:#ddd0bd;max-width:630px;margin:auto}.area-contact>a{display:inline-block;font-size:30px;margin-top:27px;text-decoration:none}.area-footer{padding:30px 6%;display:flex;gap:25px;justify-content:space-between;font-size:13px;line-height:1.8;color:var(--muted)}html:is(:lang(zh),:lang(ja),:lang(ko)) .area-intro h1{font-size:clamp(36px,4vw,56px);line-height:1.6;letter-spacing:.06em}html:is(:lang(zh),:lang(ja),:lang(ko)) .area-heading h2,html:is(:lang(zh),:lang(ja),:lang(ko)) .transit-section h2,html:is(:lang(zh),:lang(ja),:lang(ko)) .area-contact h2{font-size:36px;line-height:1.6;letter-spacing:.04em}a,button,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ad8547;outline-offset:5px}
@media(max-width:850px){.area-header{gap:15px;padding:20px 6%;flex-wrap:wrap}.area-header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:14px}.area-header select{margin-left:auto}.area-intro{grid-template-columns:1fr;gap:34px;padding-top:30px}.area-back{margin-bottom:35px}.area-intro img{height:290px}.area-intro h1{font-size:46px}.area-section{padding:58px 7%}.area-heading{grid-template-columns:1fr;gap:25px;align-items:start}.area-heading h2,.transit-section h2{font-size:38px}.museum-grid{grid-template-columns:1fr 1fr;gap:0 26px}.merchant-grid{grid-template-columns:1fr}.transit-grid{grid-template-columns:1fr;gap:28px}.transit-card{display:grid;grid-template-columns:55px 1fr;gap:0 20px}.transit-card .line-badge{align-self:start;grid-row:1/3}.transit-card .place-links{grid-column:2;margin-top:10px}.route-planner{grid-template-columns:1fr}.route-controls{border-right:0;border-bottom:1px solid var(--line);padding:28px}.route-result{padding:28px}.area-footer{display:block}.area-footer span{display:block;margin-top:15px}.hotel-origin{justify-content:flex-start}.hotel-origin>span:first-child{width:100%}.area-contact h2{font-size:38px}html:is(:lang(zh),:lang(ja),:lang(ko)) .area-heading h2,html:is(:lang(zh),:lang(ja),:lang(ko)) .transit-section h2,html:is(:lang(zh),:lang(ja),:lang(ko)) .area-contact h2{font-size:29px}}
@media(max-width:520px){.museum-grid{grid-template-columns:1fr}.area-intro h1{font-size:42px}.merchant-card{padding:27px}.area-contact>a{font-size:26px}.area-header nav{font-size:13px}.area-header .area-brand{font-size:37px}.area-heading{gap:20px}.area-intro img{height:260px}.route-actions{flex-direction:column}.route-actions a{text-align:center}.route-time{font-size:48px}}
html:lang(ru) .area-intro h1,html:lang(es) .area-intro h1{font-size:clamp(36px,4.2vw,58px)}
html:lang(ru) .area-heading h2,html:lang(es) .area-heading h2{font-size:42px;overflow-wrap:break-word}
.area-heading>*,.route-planner>*,.area-intro>*,.transit-card>*,.area-header nav{min-width:0}.area-header nav a{overflow-wrap:break-word}
@media(max-width:850px){html:lang(ru) .area-heading h2,html:lang(es) .area-heading h2{font-size:34px}.travel-modes{flex-wrap:wrap}.travel-modes button{min-width:110px}}
