@font-face{font-family:'Docent Serif';src:url('assets/fonts/noto-serif-kr-subset.woff2') format('woff2');font-weight:400;font-display:swap}
/* Common smartphone flow: stable stage and baselines, content expands explicitly. */
:root{--mobile-paper:#f5f3ec;--mobile-ink:#243c31;--mobile-muted:#5a6657;--mobile-gutter:20px;--map-ratio:3/4}
html,body{height:auto;min-height:100%;background:var(--mobile-paper);color:var(--mobile-ink)}
[hidden]{display:none!important}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #49674e;outline-offset:3px}
.app,.sw-app{width:100%;max-width:480px;min-height:100dvh;height:auto;margin:auto;overflow:visible;box-shadow:none;background:var(--mobile-paper)}
.landing-view{height:auto;min-height:100dvh;padding:32px var(--mobile-gutter)}.landing-header h1{font-size:32px;line-height:1.45}.landing-header>p:last-child{font-size:16px}.destination-bottom small{font-size:14px}.destination-bottom strong{font-size:24px}.destination,.destination.namyang,.destination.suwon{border:0;background:#eeede5;color:var(--mobile-ink);box-shadow:inset 0 0 0 1px transparent;transition:background 140ms ease,box-shadow 140ms ease}.destination-arrow{font-size:24px}
.walk-detail{position:relative;min-height:100dvh;padding-bottom:24px;background:var(--mobile-paper);font-family:-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.65}
.walk-figure{margin:0;position:relative}.walk-photo-canvas{position:relative;width:100%;height:clamp(260px,48svh,420px);touch-action:pan-y;overflow:hidden;background:#e8e9e0}.walk-photo{display:block;width:100%;height:100%;object-fit:cover}

.walk-detail-header{position:absolute;top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.walk-control{position:relative;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;color:white;font:400 14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;text-decoration:none;background:none;border:0;pointer-events:auto;text-shadow:0 1px 3px #10201980;isolation:isolate}.walk-control:before{content:'';position:absolute;inset:8px 4px;border-radius:9px;background:#17271ca6;border:1px solid #ffffff2e;z-index:-1}.walk-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.walk-back{padding-left:10px}
.walk-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;padding:12px;border:0;background:none;color:white;display:grid;place-items:center;isolation:isolate}.walk-photo-arrow:before{content:'';position:absolute;inset:10px;background:#14231a44;border-radius:50%;z-index:-1}.walk-photo-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.walk-prev{left:4px}.walk-next{right:4px}.walk-photo-arrow:disabled{opacity:.2}
.walk-photo-error{margin:0;padding:20px;font-size:16px;background:#f1e5da}.walk-gallery{display:block;padding:0 var(--mobile-gutter);border-bottom:1px solid #d5dbd0}.walk-photo-tabs{display:flex;gap:0;min-width:0}.walk-photo-tab{flex:1 1 auto;min-height:48px;white-space:nowrap;padding:4px 6px;border:0;border-bottom:2px solid transparent;background:none;font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#6c7668}.walk-photo-tab[aria-current=true]{border-bottom-color:var(--mobile-ink);color:var(--mobile-ink)}.walk-photo-count{position:absolute;right:12px;bottom:10px;border-radius:6px;padding:2px 7px;background:#f5f3ece8;white-space:nowrap;font-size:12px;color:var(--mobile-ink);pointer-events:none}
.walk-detail-copy{padding:18px var(--mobile-gutter) 0}.walk-eyebrow{font-size:12px;color:var(--mobile-muted);margin:0 0 8px}.walk-detail-title{font-family:'Docent Serif',Batang,'바탕',Georgia,serif;font-size:32px;line-height:1.4;letter-spacing:-.5px;font-weight:400;margin:0 0 2px;overflow-wrap:anywhere}.walk-architect{display:inline-flex;min-height:44px;align-items:center;font-size:14px;color:var(--mobile-muted);text-decoration:none}.walk-story{margin-top:6px;padding-top:8px;border-top:1px solid #d5dbd0}.walk-story-heading{min-height:1.5em;font:400 13px/1.5 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-muted);margin:0 0 10px}.walk-core{font-size:17px;line-height:1.75;overflow-wrap:anywhere}.walk-core p{margin:0 0 10px}.walk-story-actions{display:flex;gap:14px;align-items:center;margin:0 0 10px;flex-wrap:wrap}.walk-read,.walk-audio{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 4px;border:0;background:none;font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}.walk-read svg,.walk-audio svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.walk-read{flex-direction:row-reverse}.walk-audio{color:#7b8177}.walk-audio:disabled{opacity:1}.walk-expanded{padding-top:14px}.walk-long p{font-size:17px;line-height:1.85;margin:0 0 20px}.walk-limits{font-size:14px;line-height:1.8;color:var(--mobile-muted)}.walk-sources{display:grid;gap:8px;font-size:14px}.walk-sources a{min-height:44px;display:flex;align-items:center;color:var(--mobile-ink)}.walk-photo-meta{margin-top:8px;color:var(--mobile-muted);font-size:12px}.walk-photo-meta summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.walk-photo-meta p{margin:0 0 8px}
.walk-points{position:absolute;inset:0;pointer-events:none;z-index:1}.walk-point{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;background:none;pointer-events:auto;color:var(--mobile-ink)}.walk-point-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #e5e8dd;background:#f7f6ede8;font-size:12px;font-weight:500}.walk-point-label{position:absolute;left:39px;top:12px;background:#f7f6ede8;border-radius:6px;padding:3px 6px;white-space:nowrap;font-size:12px;line-height:18px;pointer-events:none}.walk-point[aria-pressed=true] .walk-point-number{background:var(--mobile-ink);color:white}.walk-section-model{position:absolute;pointer-events:none}.walk-section-model svg{width:100%;height:100%;position:absolute;inset:0}.walk-section-model span{position:absolute;transform:translate(-50%,-50%);font-size:12px;background:#f5f3eced;padding:3px 6px;border:1px solid #7c8274;border-radius:3px}.walk-section-model .upper{left:53.888889%;top:43.862069%}.walk-section-model .lower{left:66.444444%;top:92.965517%}
/* Shared main frame and state meaning: the dark pin always means selected. */
.map-view{height:auto;overflow:visible;display:block}.map-header{padding:18px var(--mobile-gutter) 14px}.map-header h1,.intro h1{font-family:'Docent Serif',Batang,'바탕',Georgia,serif;font-size:30px;line-height:1.4;letter-spacing:-.5px;margin:14px 0 8px}.map-header>p:last-child,.map-hintline p{font-size:14px}.home-link,.back-link{min-height:48px;display:inline-flex;align-items:center;font-size:14px;color:var(--mobile-ink)}
.map-stage{display:block;flex:none;margin:0 var(--mobile-gutter);width:calc(100% - 2*var(--mobile-gutter));aspect-ratio:var(--map-ratio);height:auto;min-height:0;overflow:visible}.map-canvas{mix-blend-mode:normal;position:relative;margin:auto}.map-image{opacity:1}.map-footer{padding:12px var(--mobile-gutter) 24px;border:0}.walk-toggles{border-top:1px solid #d5dbd0;border-bottom:1px solid #d5dbd0;display:flex;gap:12px;padding:0;margin:0 0 12px}.walk-toggles button{flex:1;min-height:48px;border:0;border-radius:0;background:none;color:var(--mobile-muted);font-size:14px}.walk-toggles button[aria-pressed=true]{color:var(--mobile-ink);box-shadow:inset 0 -2px var(--mobile-ink);background:none}.map-footer>p{font-size:13px;color:var(--mobile-muted)}
.marker-face,.has-guide .marker-face{width:22px;height:22px;display:grid;place-items:center;background:var(--mobile-paper);color:var(--mobile-ink);border:1px solid #74836c;font:500 10px/1 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;box-shadow:none}.marker-face svg{display:none}.map-marker.is-highlighted .marker-face,.map-marker.is-pending .marker-face,.map-marker:focus-visible .marker-face{background:var(--mobile-ink);color:white;border-color:var(--mobile-ink);box-shadow:0 0 0 3px #243c3120}.map-guide-name{background:#f5f3eceb}.target-shape{fill-opacity:.1;stroke-opacity:.2}.target-shape.is-active{fill-opacity:.22;stroke-width:2}
.name-panel.map-selection,.map-selection{position:relative;inset:auto;transform:none;width:auto;margin:18px 0 0;padding:18px 0 0;border:0;border-top:1px solid #d5dbd0;border-radius:0;background:none;box-shadow:none;color:var(--mobile-ink)}.map-selection h2{font-family:'Docent Serif',Batang,'바탕',Georgia,serif;font-size:24px;line-height:1.4;margin:6px 44px 8px 0}.map-selection p{font-size:16px;line-height:1.7}.map-selection .eyebrow{font-size:12px}.map-selection .close-button{position:absolute;top:10px;right:0;width:48px;height:48px;background:none;border:0;font-size:24px}.map-entry{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;padding:6px 16px;border-radius:10px;background:var(--mobile-ink);color:white;text-decoration:none;font-size:15px}.place-picker{margin:8px 0}.place-picker summary{min-height:48px;display:flex;align-items:center;font-size:14px}.place-list button{min-height:48px}
.sw-app .map-layout{display:block;padding:0 var(--mobile-gutter)}.sw-app .topbar{padding:12px var(--mobile-gutter)}.sw-app .intro{padding:0 0 14px}.sw-app .intro-line{font-size:15px}.sw-app .intro-line br{display:none}.sw-app .section-heading{font-size:13px}.sw-app .plan-canvas{width:100%;aspect-ratio:var(--map-ratio);position:relative;display:flex;align-items:center;background:none;overflow:hidden}.sw-app .plan-canvas>img{width:100%;height:auto;display:block}.sw-app .plan-markers{left:0;right:0;bottom:auto;top:50%;width:100%;height:auto;aspect-ratio:1500/1112;transform:translateY(-50%)}.sw-app .marker-dot{width:22px;height:22px;border:1px solid #74836c;background:var(--mobile-paper);color:var(--mobile-ink);box-shadow:none;font-size:10px}.sw-app .plan-marker.is-selected .marker-dot{background:var(--mobile-ink);color:white}.sw-app .map-aside{padding:0}.sw-app .space-list{display:block;border-top:1px solid #d5dbd0}.sw-app .space-row{min-height:48px;background:none;border:0;border-bottom:1px solid #d5dbd0;box-shadow:none}.sw-app .space-row-copy small{font-size:13px}.sw-app .architect-entry{background:none;box-shadow:none;border:0}.sw-app .plan-caption,.sw-app .map-footnote{font-size:12px;color:var(--mobile-muted)}.sw-app .site-footer{padding:20px var(--mobile-gutter);font-size:12px}.sw-app .architect-page,.sw-app .sources-page{max-width:100%;padding:0 var(--mobile-gutter) 30px}.sw-app .architect-content{display:block}.reading-page{max-width:480px;padding:18px var(--mobile-gutter) 40px}.architect-grid{display:block}
@media(max-width:374px){:root{--mobile-gutter:16px}.walk-detail-title{font-size:30px}}
@media(prefers-reduced-motion:reduce){.walk-detail *{transition:none!important;scroll-behavior:auto!important}}

#map-view>.map-selection{margin:0 var(--mobile-gutter) 24px}

.sw-app .plan-section{margin:0}.sw-app .section-heading{margin:0}.sw-app .plan-canvas>img{opacity:1;mix-blend-mode:normal}.sw-app .intro h1 span{font-size:inherit;letter-spacing:inherit}.sw-app .plan-caption{margin:8px 0 12px}


.sw-app .space-row.is-selected .space-number{background:var(--mobile-ink);color:white}.sw-app .space-number{display:grid;place-items:center;width:24px;height:24px;border:1px solid #74836c;border-radius:50%;color:var(--mobile-ink);font:500 12px/1 Arial,sans-serif;flex:none}

/* Same default, focus and tap feedback on both destinations. */
.destination:focus-visible,.destination:active,.destination.is-selecting{background:#dce6d6;color:var(--mobile-ink);box-shadow:inset 0 0 0 1px #94a88b}
@media(hover:hover) and (pointer:fine){.destination:hover{background:#dce6d6;color:var(--mobile-ink);box-shadow:inset 0 0 0 1px #94a88b}}
@media(hover:none){.destination:hover{background:#eeede5}.destination:active,.destination.is-selecting{background:#dce6d6}}
@media(prefers-reduced-motion:reduce){.destination{transition:none}}

/* Shared main controls: utility row, collapsed place list; no intermediate guided selection. */
.map-header .eyebrow{margin:0;font-size:12px;line-height:1.7;letter-spacing:2px;color:var(--mobile-muted)}
.map-hintline{min-height:24px;height:auto}.map-hintline p,.map-tooltip{margin:0;font-size:14px;line-height:1.7}
.map-tools,.walk-toggles{display:flex;gap:12px;margin:0 0 8px;padding:0;border-block:1px solid #d5dbd0}
.map-tools button,.walk-toggles button{min-width:0;min-height:48px;flex:1;padding:4px 8px;border:0;border-radius:0;background:none;font-size:14px;line-height:1.5;color:var(--mobile-muted)}
.place-picker{border:0;border-bottom:1px solid #d5dbd0;margin:0}.place-picker summary{justify-content:space-between;font-size:14px;line-height:1.5}.place-picker summary:after{content:'+';font-size:20px;font-weight:400}.place-picker[open] summary:after{content:'−'}
.place-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.place-list button{width:100%;min-width:0;text-align:left;padding:12px 4px;border:0;border-top:1px solid #d5dbd0;background:none;white-space:normal;overflow-wrap:anywhere;font-size:15px;line-height:1.6}
.name-panel>div{min-width:0;flex:1}.name-panel h2,.name-panel p{overflow-wrap:anywhere}.name-panel .close-button{margin:0}.name-panel.map-selection{max-width:calc(100% - 2*var(--mobile-gutter))}
.map-text-link{display:inline-flex;align-items:center;min-height:48px;font-size:14px}.map-credits{margin:8px 0 0;border:0;color:var(--mobile-muted);font-size:12px}.map-credits summary{min-height:44px;justify-content:flex-start;gap:12px}.map-credits p{font-size:13px;line-height:1.8}.map-credits a{display:inline-flex;align-items:center;min-height:44px}
.sw-app #plan-markers{inset:0;aspect-ratio:auto;height:100%;transform:none;pointer-events:none}.sw-app #plan-markers .plan-marker{pointer-events:auto}.sw-app .map-pin-label{position:absolute;top:38px;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:4px;padding:1px 4px;background:#f5f3eceb;color:var(--mobile-ink);font-size:11px;line-height:18px;pointer-events:none}.sw-app .plan-marker:hover .marker-dot,.sw-app .plan-marker:focus-visible .marker-dot{background:var(--mobile-ink);color:white;transform:none}
.sw-app .space-row{gap:12px;padding:10px 4px}.sw-app .space-row-copy{min-width:0;overflow-wrap:anywhere}.sw-app .space-row strong{font-size:15px;line-height:1.6;margin:0}.sw-app .space-row small{display:none}
.walk-point[data-label-side=left] .walk-point-label{left:auto;right:39px}

.walk-detail-header{z-index:3}.walk-photo-arrow{z-index:2}.walk-photo-error{position:absolute;inset:auto 0 0;z-index:4}
.walk-detail-copy,.walk-story,.walk-expanded,.walk-sources,.sw-app .sources-page{min-width:0}.walk-sources a{overflow-wrap:anywhere}

.place-list{max-height:none;overflow:visible;padding:0;overscroll-behavior:auto}.name-panel.map-selection{max-height:none;overflow:visible}
.map-hintline .map-tooltip{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.walk-toggles #walk-down,.walk-toggles #walk-down[aria-pressed=true]{border:0;background:none;color:var(--mobile-muted)}.walk-toggles #walk-down[aria-pressed=true]{color:var(--mobile-ink)}
.destination-bottom>span:first-child{min-width:0;overflow-wrap:anywhere}.destination-arrow{flex:none}

/* stable2-ui1: stable controls without reserving empty title/body rows. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.walk-back{gap:2px;padding:0 10px}.walk-back svg{width:10px;height:20px}.walk-back span{display:block}
.walk-photo-tab{line-height:1.35}.walk-photo-tabs{min-height:48px}.walk-detail-title{min-height:0}.walk-core{min-height:0}
.map-stage{position:relative}.map-header .home-link{margin-left:0;padding:0}.map-header h1{margin-bottom:12px}
.map-overlay-controls{position:static;display:flex;justify-content:flex-start;gap:4px;margin:0 calc(var(--mobile-gutter) - 4px) 4px;padding:0;border:0}
.map-overlay-controls button,.map-overlay-controls #walk-up,.map-overlay-controls #walk-down,.map-overlay-controls button[aria-pressed=true]{position:relative;flex:0 0 auto;min-width:0;min-height:48px;padding:0 14px;pointer-events:auto;background:none;border:0;border-radius:0;box-shadow:none;font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink);isolation:isolate}
.map-overlay-controls button:before{content:'';position:absolute;inset:8px 4px;border-radius:9px;background:#f7f6edd9;border:1px solid #c8d0c0;z-index:-1}
.map-overlay-controls #walk-up[aria-pressed=true],.map-overlay-controls #walk-down[aria-pressed=true]{color:#70442e}
.map-overlay-controls button[aria-pressed=true]:before{background:#e9dfcf;border-color:#a27658}

.destination.namyang:focus-visible,.destination.namyang:active,.destination.namyang.is-selecting{background:#eee0d1;color:#884631;box-shadow:inset 0 0 0 1px #c49d7f}
@media(hover:hover) and (pointer:fine){.destination.namyang:hover{background:#eee0d1;color:#884631;box-shadow:inset 0 0 0 1px #c49d7f}}
@media(hover:none){.destination.namyang:hover{background:#eeede5;color:var(--mobile-ink)}.destination.namyang:active,.destination.namyang.is-selecting{background:#eee0d1;color:#884631}}
.building-icon{width:176px;height:116px;margin:0 auto 8px;align-self:center;stroke-width:1.6}.destination{padding:16px 18px}.destination-index{margin-bottom:4px}.landing-header h1{margin-top:18px}.landing-note{margin:16px 0 0;padding-top:0;min-height:0}
.architect-page .design-decisions,.architect-page .architect-profiles{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0}
.architect-page,.architect-page *{min-width:0}.architect-page h1{font-size:30px;line-height:1.45;letter-spacing:-.5px;margin:12px 0 8px}.architect-page>header{padding:0;margin:0 0 16px}
.architect-page .architect-content{padding:0;display:block}.architect-section{margin-top:24px}.architect-section>h2{font:400 22px/1.5 'Docent Serif',Batang,'바탕',Georgia,serif;margin:0 0 12px}
.architect-page .design-decision{margin:0;padding:0;border:0}.architect-page .design-decision h3,.architect-profile h2{font:400 19px/1.5 'Docent Serif',Batang,'바탕',Georgia,serif;margin:0 0 8px}.architect-page p{font-size:16px;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}.architect-page .architect-role{font-size:14px;color:var(--mobile-muted)}
.architect-page .architect-profile{padding:0;border:0}.architect-page .architect-photo{margin:16px 0 0}.architect-page .architect-photo img{width:100%;height:auto}.architect-page .architect-photo figcaption{margin:8px 0;font-size:12px;color:var(--mobile-muted)}
.related-photos,.related-works{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.related-photos a,.related-works a{display:flex;align-items:center;min-height:48px;font-size:14px;line-height:1.6;color:var(--mobile-ink);overflow-wrap:anywhere}
.reading-top,.architect-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.architect-top{padding:8px var(--mobile-gutter) 0}.map-back{display:inline-flex;align-items:center;gap:2px;min-height:48px;padding:0;text-decoration:none;background:none;color:var(--mobile-ink);font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}.map-back svg{width:10px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.walk-drawing-dialog{width:calc(100% - 24px);max-width:480px;max-height:calc(100svh - 24px);padding:0;margin:auto;border:0;border-radius:12px;background:var(--mobile-paper);color:var(--mobile-ink);overflow:auto}.walk-drawing-dialog::backdrop{background:#14251cd9}.drawing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 16px}.drawing-head h2{margin:0;font:400 18px/1.5 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}.drawing-head button,.drawing-nav button{min-height:48px;min-width:48px;padding:4px 8px;border:0;background:none;color:inherit;font-size:14px}.drawing-frame{margin:0}.drawing-frame img{display:block;width:100%;height:60svh;object-fit:contain;background:white}.drawing-frame figcaption{padding:10px 16px;font-size:14px;line-height:1.6}.drawing-nav{display:flex;align-items:center;justify-content:space-between;padding:0 8px 4px;border-top:1px solid #d5dbd0}.drawing-nav span{font-size:13px}.drawing-nav button:disabled{opacity:.35}.drawing-open{overflow:hidden}
/* Guide 2.0 rule 7: text visitors read never goes below 12px */
.landing-header .eyebrow,.destination-index,.landing-note,.map-guide-name,.sw-app .map-pin-label,.space-number,.edition,.source-links a{font-size:12px}
.marker-face,.marker-face>span,.sw-app .marker-dot{font-size:12px}
.name-only .marker-face{width:22px;height:22px}
/* Photo numbers (guide 2.0 option A): the photo shows only small numbered dots; names and text sit below */
.walk-point-number{width:24px;height:24px;border-radius:50%;border:1.5px solid #fffffff0;background:#17271c9e;color:#fff;font:600 12px/1 Arial,sans-serif;box-shadow:0 1px 4px #0005}
.walk-point[aria-pressed=true] .walk-point-number{background:var(--mobile-paper);color:var(--mobile-ink);box-shadow:0 0 0 5px #ffffff59,0 1px 4px #0005}
.walk-detail-title{margin:0}
.walk-meta{margin:0;font-size:14px;color:var(--mobile-muted)}
.walk-meta .walk-eyebrow{font-size:inherit;margin:0}
.walk-meta .walk-architect{min-height:44px}
.walk-meta .walk-eyebrow:not([hidden])+.walk-architect:before{content:'·';margin:0 6px}
.walk-spots{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 6px}
.walk-spot{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 11px 0 6px;border:0;background:none;font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-muted);isolation:isolate}
.walk-spot:before{content:'';position:absolute;inset:4px 0;border:1px solid #d5dbd0;border-radius:999px;z-index:-1}
.walk-spot b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #9aa596;font:600 12px/1 Arial,sans-serif}
.walk-spot[aria-pressed=true]{color:var(--mobile-ink)}.walk-spot[aria-pressed=true]:before{border-color:var(--mobile-ink)}
.walk-spot[aria-pressed=true] b{background:var(--mobile-ink);border-color:var(--mobile-ink);color:#fff}
/* Korean line breaking: never split a word; break only inside a word longer than the line */
body{word-break:keep-all;overflow-wrap:anywhere}
h1,h2,h3,.walk-detail-title{text-wrap:balance}
/* headings focused by script after navigation are not keyboard focus; no ring */
[tabindex="-1"]:focus{outline:none}
/* Bottom bar on detail pages (guide rule: the next move sits where the thumb is) */
.walk-detail{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.walk-dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 var(--mobile-gutter) env(safe-area-inset-bottom);background:#f6f3ecf2;border-top:1px solid #d5dbd0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.walk-dock a{display:inline-flex;align-items:center;min-height:48px;color:var(--mobile-ink);text-decoration:none;font:15px/1.3 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
.walk-dock-back{gap:4px;margin-left:-4px;padding:0 4px}.walk-dock-back svg{width:10px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.walk-dock-next{flex-direction:column;align-items:flex-end!important;justify-content:center;text-align:right}
.walk-dock-next small{font-size:12px;color:var(--mobile-muted)}
/* Read toggle reads as "open here", not "go elsewhere"; listen stays quiet until audio exists */
.walk-audio{font-size:13px;color:var(--mobile-muted)}
@media (prefers-reduced-motion:reduce){.walk-read svg{transition:none}}
.walk-dock{transform:translate(-50%,100%);visibility:hidden;transition:transform .2s,visibility 0s linear .2s}
.walk-dock.is-shown{transform:translate(-50%,0);visibility:visible;transition:transform .2s}
@media (prefers-reduced-motion:reduce){.walk-dock,.walk-dock.is-shown{transition:none}}
/* Menu board (cafe): name left, price right, readable for collecting team orders */
.walk-menu{margin:20px 0 8px;padding-top:16px;border-top:1px solid #d5dbd0}
.walk-menu-info{margin:0;font-size:14px;color:var(--mobile-muted)}
.walk-menu-group h3{display:flex;align-items:baseline;gap:8px;margin:18px 0 4px;font-size:16px;font-weight:600}
.walk-menu-group h3 small,.walk-menu-item small{font-size:12px;font-weight:400;color:var(--mobile-muted)}
.walk-menu-item{display:flex;justify-content:space-between;gap:16px;margin:0;padding:7px 0;border-bottom:1px solid #e3e6dd;font-size:15px}
.walk-menu-item small{margin-left:6px}
.walk-menu-item b{flex:none;font-weight:500;font-variant-numeric:tabular-nums}
.walk-menu-note{margin:12px 0 0;font-size:13px;color:var(--mobile-muted)}
/* Walk routes: thick dark line on a white halo (guide rule 6: readable, still lighter than the buildings) */
.walk-line{stroke-width:3.5}
.walk-line-halo{fill:none;stroke:#fff;stroke-width:7;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;opacity:.9}
.walk-route.is-visible{opacity:1}
/* Drawing viewer: full screen so plans and sections can be read; tap the image to zoom and pan */
.walk-drawing-dialog{width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;display:flex;flex-direction:column}
.walk-drawing-dialog:not([open]){display:none}
.walk-drawing-dialog .drawing-frame{flex:1;min-height:0;margin:0;overflow:auto;display:flex;align-items:center;background:#fff;touch-action:pan-x pan-y pinch-zoom}
.walk-drawing-dialog .drawing-frame img{display:block;width:100%;height:auto;max-height:none;cursor:zoom-in}
.walk-drawing-dialog .drawing-frame.is-zoomed{display:block}
.walk-drawing-dialog .drawing-frame.is-zoomed img{width:260%;max-width:none;cursor:zoom-out}
.walk-drawing-dialog figcaption,.drawing-hint,.drawing-original{padding:0 var(--mobile-gutter)}
.walk-drawing-dialog figcaption{margin:12px 0 0;font-size:15px}
.drawing-hint{margin:4px 0 0;font-size:13px;color:var(--mobile-muted)}
.drawing-original{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--mobile-ink)}
/* Place list: guided buildings first and heavier, the rest lighter */
.place-list .place-group-title{margin:16px 0 4px;font-size:13px;color:var(--mobile-muted)}
.place-group-guide button{font-size:17px;color:var(--mobile-ink)}
.place-group-other button{min-height:44px;padding:9px 4px;font-size:15px;color:var(--mobile-muted)}
/* Full-screen sheet (cafe menu, hidden faces) */
.walk-sheet{width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:0 auto;padding:0;border:0;background:var(--mobile-paper);color:var(--mobile-ink);display:flex;flex-direction:column}
.walk-sheet:not([open]){display:none}
.walk-sheet::backdrop{background:#14251cd9}
.walk-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(6px + env(safe-area-inset-top)) var(--mobile-gutter) 6px;border-bottom:1px solid #d5dbd0}
.walk-sheet-head h2{margin:0;font-family:'Docent Serif',Batang,serif;font-weight:400;font-size:24px}
.walk-sheet-close{min-height:48px;padding:0 4px;border:0;background:none;font-size:15px;color:var(--mobile-ink)}
.walk-sheet-body{flex:1;min-height:0;overflow:auto;padding:4px var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom))}
.walk-menu-open,.walk-egg{display:inline-flex;flex-direction:row-reverse;align-items:center;gap:4px;border-radius:999px}
.walk-menu-open{min-height:48px;margin-top:6px;padding:0 16px;border:1px solid var(--mobile-ink);background:none;font-size:16px;color:var(--mobile-ink)}
.walk-menu-open svg,.walk-egg svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Hidden faces */
.walk-egg{min-height:44px;margin:0 0 6px;padding:0 14px;border:1px solid #a27658;background:#e9dfcf;color:#70442e;font-size:15px}
.egg-frame{margin:12px calc(-1*var(--mobile-gutter)) 0;overflow:auto;background:#1a1f1c}
.egg-canvas{position:relative;width:100%}
.egg-frame.is-zoomed .egg-canvas{width:250%}
.egg-canvas img{display:block;width:100%;height:auto;cursor:zoom-in}
.egg-frame.is-zoomed img{cursor:zoom-out}
.egg-face{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:#17271c9e;color:#fff;font:600 12px/1 Arial,sans-serif;box-shadow:0 0 0 1px #0007;opacity:0;transition:opacity .3s;pointer-events:none}
.egg-frame.is-revealed .egg-face{opacity:1}
.egg-hint{margin:6px 0 0;font-size:13px;color:var(--mobile-muted)}
.egg-intro,.egg-answer{font-size:17px;line-height:1.75;margin:14px 0 0}
.egg-reveal{display:inline-flex;align-items:center;min-height:48px;margin-top:12px;padding:0 18px;border:1px solid var(--mobile-ink);border-radius:999px;background:none;font-size:16px;color:var(--mobile-ink)}
.egg-names{margin:16px 0 0;padding-left:22px;font-size:16px;line-height:2}
.egg-names span{color:var(--mobile-muted);font-size:14px}
.egg-credit{margin:16px 0 0;font-size:12px;color:var(--mobile-muted)}
@media (prefers-reduced-motion:reduce){.egg-face{transition:none}}
.place-list button{border-radius:0}
.walk-menu-info a{color:var(--mobile-ink);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
/* Map header: the map is the hero, so the header stays short (guide rule 6) */
.map-header .eyebrow{display:none}
.map-header h1,.sw-app .map-header h1{font-size:26px;margin:6px 0 10px}
/* Slot under the map: today's order by default, a place's note while one is picked */
.map-slot .name-panel.map-selection{margin:0;padding-top:0;border-top:0}
/* Facilities as symbols */
.map-marker.is-facility .marker-face{width:auto;min-width:22px;padding:0 5px;border-radius:11px;font-weight:600}
.map-marker.is-facility .marker-face svg{display:block;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.map-marker.is-facility[data-id="18"] .marker-face{padding:0;width:22px}
.map-marker.is-facility .marker-face{padding:0 2px;letter-spacing:0}
/* 18 (restaurant) and 19 (toilet) stand 21px apart on the map; nudge the toilet 3px so the symbols do not touch */
.map-marker[data-id="19"]{margin-left:-3px}
/* One number component (guide rule 3): photo dots and the chips under the photo look the same;
   selected = light fill, dark number, outer ring - everywhere */
.walk-spot b{width:22px;height:22px;border:0;background:#2d4236;color:#fff}
.walk-spot[aria-pressed=true] b{background:var(--mobile-paper);color:var(--mobile-ink);box-shadow:0 0 0 2px var(--mobile-ink)}
.walk-spot:before{border-color:#7f8a7a}
.walk-photo-tab{color:var(--mobile-muted)}
/* Map: guided buildings read heavier than the rest */
.has-guide .marker-face{font-weight:600}
.name-only .marker-face{font-weight:500}
/* Sources folded with the photo info: + on the right like every other fold, 44px rows, outside-link arrow */
/* Sheet: a second close where the thumb is */
.walk-sheet-foot{flex:none;min-height:52px;margin:0;border:0;border-top:1px solid #d5dbd0;background:var(--mobile-paper);font-size:16px;color:var(--mobile-ink);padding-bottom:env(safe-area-inset-bottom)}
/* Hidden faces: a hollow ring sized to the face (scales with the painting), number outside it */
.egg-frame.is-zoomed .egg-canvas{width:250%}
.egg-face{width:4.6%;height:auto;aspect-ratio:1;border:2px solid #fff;background:none;box-shadow:0 0 0 1px #000a,inset 0 0 0 1px #000a;font-size:0}
.egg-face b{position:absolute;right:-12px;top:-14px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#1a1f1c;font:600 12px/1 Arial,sans-serif;box-shadow:0 1px 3px #0008}
.egg-canvas img{cursor:zoom-out}
.egg-frame:not(.is-zoomed) .egg-canvas img{cursor:zoom-in}
/* Slow network: a thin progress line under the stage while the next photo loads */
.walk-photo-canvas.is-loading:after{content:'';position:absolute;left:0;bottom:0;z-index:5;height:2px;width:35%;background:var(--mobile-ink);animation:walk-load 1.1s ease-in-out infinite}
@keyframes walk-load{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
@media (prefers-reduced-motion:reduce){.walk-photo-canvas.is-loading:after{animation:none;width:100%;opacity:.5}}
.walk-photo-error{top:50%;bottom:auto;transform:translateY(-50%);text-align:center;background:#f1e5daeb;margin:0 16px;border-radius:8px}
/* every source link is a 44px row */
.source-links a,#architect-sources a{display:flex;align-items:center;min-height:44px}
.sources-page a,.source-item a{display:flex;align-items:center;min-height:44px}
/* short screens (browser bars showing): the photo gives up a little height so two lines of the look text fit (rule 10) */
@media (max-height:640px){.walk-photo-canvas{height:clamp(240px,45svh,420px)}}
/* Round 2 · tap feedback on phones: anything pressed flashes light green (styles.css had turned it off) */
button,a,summary,label{-webkit-tap-highlight-color:#2f524033}
/* Round 2 · photo on its way: dashed underline on the pressed tab, the current photo dims, a pill after 0.6 s */
.walk-photo-tab.is-pending{border-bottom:2px dashed var(--mobile-ink);color:var(--mobile-ink)}
.walk-photo-canvas.is-loading img{filter:brightness(.8);transition:filter .2s}
.walk-photo-canvas.is-loading:before{content:'사진 받는 중';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;padding:8px 14px;border-radius:999px;background:#17271cd9;color:#fff;font:14px/1.2 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;opacity:0;animation:walk-pill .2s .6s forwards;pointer-events:none}
@keyframes walk-pill{to{opacity:1}}
/* Round 2 · names under the painting are buttons that zoom to that face */
.egg-name{display:inline-flex;align-items:baseline;gap:.3em;min-height:44px;padding:0;border:0;background:none;font:inherit;color:var(--mobile-ink);text-align:left;text-decoration:underline;text-decoration-color:#7f8a7a;text-underline-offset:4px}
/* Selected number: one signal, a fill (no extra rings). The chip turns dark; the photo number turns white and grows. */
.walk-point[aria-pressed=true] .walk-point-number{width:30px;height:30px;font-size:14px;background:#fff;border-color:#fff;color:#1f3328;box-shadow:0 1px 6px #0006}
.walk-spot[aria-pressed=true]{color:#fff}
.walk-spot[aria-pressed=true]:before{background:#2d4236;border-color:#2d4236}
.walk-spot[aria-pressed=true] b{background:#fff;color:#2d4236;box-shadow:none}
/* Map tools sit under the map like a legend: one bar the map's width. The route buttons carry their line colour. */
.map-overlay-controls{display:flex;gap:0;margin:10px var(--mobile-gutter) 0;padding:0;border:1px solid #7f8a7a;border-radius:10px;overflow:hidden}
.map-overlay-controls button,.map-overlay-controls #walk-up,.map-overlay-controls #walk-down,.map-overlay-controls button[aria-pressed=true]{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;padding:0 8px;border:0;border-radius:0;background:none;font:15px/1.3 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}
.map-overlay-controls button+button{border-left:1px solid #7f8a7a}
.map-overlay-controls button:before{content:none}
.route-swatch{width:18px;height:3px;border-radius:2px}
#walk-up .route-swatch{background:#2f5240}#walk-down .route-swatch{background:#8a4a2c}
.map-overlay-controls #walk-up[aria-pressed=true]{background:#2f5240;color:#fff}
.map-overlay-controls #walk-down[aria-pressed=true]{background:#8a4a2c;color:#fff}
.map-overlay-controls #walk-up[aria-pressed=true] .route-swatch,.map-overlay-controls #walk-down[aria-pressed=true] .route-swatch{background:#fff}
/* The panel under the map keeps its height only while a place is shown (switching places must not jump) */
.map-slot{margin:8px var(--mobile-gutter) 0}
.map-slot:has(#name-panel:not([hidden])){min-height:232px}
@media(max-width:374px){.map-slot:has(#name-panel:not([hidden])){min-height:260px}}
/* '오늘 일정' button, top right of the landing and both maps; the schedule opens as a sheet from the bottom */
.landing-header,.map-header{position:relative}
/* plain text like '‹ 처음으로' on the same row: a boxed pill there read as a stray bubble */
.day-plan-open{position:absolute;top:20px;right:calc(var(--mobile-gutter) - 8px);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border:0;background:none;font:14px/1 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}
.day-plan-open svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.landing-header .day-plan-open{top:-14px}
/* capped to the screen: on a short screen (iPhone SE in Safari, 553px) the sheet scrolls inside instead of losing its title */
.day-plan{margin:auto auto 0;width:100%;max-width:480px;max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;padding:0;border:0;border-radius:16px 16px 0 0;background:var(--mobile-paper);color:var(--mobile-ink);box-shadow:0 -8px 30px #0003}
.day-plan::backdrop{background:#17271c66}
.day-plan-body{padding:22px var(--mobile-gutter) calc(14px + env(safe-area-inset-bottom))}
.day-plan h2{margin:0;font-family:'Docent Serif',Batang,'바탕',Georgia,serif;font-size:24px;font-weight:400;line-height:1.3}
.day-plan-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.day-plan-date{margin:0;font-size:14px;color:var(--mobile-muted);white-space:nowrap}
.day-plan ol{list-style:none;margin:14px 0 0;padding:0}
.day-plan li{display:grid;grid-template-columns:6.4em 1fr;gap:12px;padding:10px 0;border-top:1px solid #d5dbd0;font-size:16px;line-height:1.5}
.day-plan li b{font-weight:600;font-variant-numeric:tabular-nums}
/* 하차: two stops side by side, each time above its place */
.day-plan li.day-plan-pair{grid-template-columns:6.4em 1fr 1fr}
.day-plan-pair span b{display:block}
.day-plan-close{width:100%;min-height:48px;margin-top:10px;border:1px solid var(--mobile-ink);border-radius:999px;background:none;font:16px/1 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}
/* Short extras (the painting) rise from the bottom like the schedule; long ones (the cafe menu) stay full screen */
.walk-sheet.is-popup{height:auto;max-height:92dvh;margin:auto auto 0;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px #0003}
.walk-sheet.is-popup::backdrop{background:#17271c66}
.walk-sheet.is-popup .walk-sheet-head{padding-top:12px;border-bottom:0}
.walk-sheet.is-popup .walk-sheet-head .walk-sheet-close{display:none}
.walk-sheet.is-popup .walk-sheet-foot{min-height:48px;margin:6px var(--mobile-gutter) calc(14px + env(safe-area-inset-bottom));padding:0;border:1px solid var(--mobile-ink);border-radius:999px}
/* Cafe menu: HOT and ICE as coloured tags so drinks are told apart at a glance */
.walk-temp{display:inline-block;margin-left:6px;padding:0 4px;border-radius:3px;font:600 12px/16px -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;vertical-align:1px}
.walk-menu-group h3 .walk-temp{margin-left:0}
.walk-temp.is-hot{background:#f6e1d8;color:#9a3b1f}
.walk-temp.is-ice{background:#dde9f3;color:#245d86}
/* 듣기 sits beside the place title where it is noticed (at the bottom nobody found it); greyed '준비 중' until audio exists */
.walk-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.walk-title-row .walk-detail-title{flex:1;min-width:0}
/* in ink now that every story has its voice (user 11-02); grey only while it can't play (no audio, mass) */
.walk-title-row .walk-audio{flex:none;color:var(--mobile-ink);font-size:15px}
.walk-title-row .walk-audio svg{width:22px;height:22px}
.walk-title-row .walk-audio:disabled{color:var(--mobile-muted)}
/* two short lines ('듣기' over '준비 중') keep the button narrow so long titles still fit on two lines */
.walk-title-row .walk-audio span{display:grid;line-height:1.25;text-align:left;color:var(--mobile-ink)}
.walk-title-row .walk-audio small{font-size:12px;color:var(--mobile-muted)}
.walk-title-row .walk-audio:disabled span{color:var(--mobile-muted)}
/* playing: the label reads 멈춤 in ink */
.walk-title-row .walk-audio[aria-pressed=true] span{color:var(--mobile-ink)}
/* 음악 switch: map headers (beside 오늘 일정) and the middle of the detail thumb bar; a slash and '음악 끔' when off */
.map-header .header-tools{position:absolute;top:20px;right:calc(var(--mobile-gutter) - 8px);display:flex;align-items:center;gap:2px}
.map-header .header-tools .day-plan-open{position:static}
.bgm-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border:0;background:none;font:14px/1 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}
.bgm-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bgm-label:after{content:'음악'}
.bgm-slash{display:none}
html.music-off .bgm-toggle{color:var(--mobile-muted)}
html.music-off .bgm-label:after{content:'음악 끔'}
html.music-off .bgm-slash{display:inline}
.walk-dock .bgm-toggle{flex:none;min-height:48px}
/* 미사가 처음이라면 (day-plan.js): the schedule's 11:00 link, the cathedral page row, the guide list.
   10:50–12:00 on 11-17 (html.mass-quiet): 음악 shows off and can't be pressed, a note sits under the title */
.day-plan-link{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0;padding:0;border:0;background:none;font:14px/1.3 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.mass-guide{list-style:none;margin:14px 0 0;padding:0}
.mass-guide li{display:grid;grid-template-columns:1fr;padding:8px 0;border-top:1px solid #d5dbd0;font-size:16px;line-height:1.5}
.mass-guide b{font-weight:600}
.mass-guide span{font-size:14px;color:var(--mobile-muted)}
.walk-mass-open{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;width:100%;min-height:48px;margin:8px 0 0;padding:0;border:0;border-top:1px solid #d5dbd0;border-bottom:1px solid #d5dbd0;background:none;font:16px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink)}
.walk-mass-open[hidden]{display:none}
.walk-mass-open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.walk-mass-note{margin:2px 0 8px;font-size:14px;color:#8a4b2a}
html.mass-quiet .bgm-toggle{color:var(--mobile-muted);pointer-events:none}
html.mass-quiet .bgm-label:after{content:'음악 끔'}
html.mass-quiet .bgm-slash{display:inline}
/* design review 11-02: Korean labels without tracking on the landing (the date row also keeps 오늘 일정 off the headline),
   one arrow for going on (›), one eyebrow and one credit block on both architect pages (rule 3) */
.landing-header .eyebrow,.destination-index{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}
.destination-arrow{font-size:26px;line-height:1}
.architect-page .eyebrow{font-size:13px;font-weight:400;letter-spacing:0;color:var(--mobile-muted)}
.credit-rows{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:6px 0 18px;font-size:14px;line-height:1.65}
.credit-rows dt{color:var(--mobile-muted)}
.credit-rows dd{margin:0;color:var(--mobile-ink)}
/* design review 2 (11-03): three stylesheets each had their own grey; secondary text now uses --mobile-muted only
   (5.45:1 on the cream, four texts were under 4.5:1). Body text of both architect pages and both list chevrons in ink (rule 3). */
:root{--muted:var(--mobile-muted)}
.destination-index,.destination-bottom small{color:var(--mobile-muted)}
.architect-content p,.row-arrow{color:var(--mobile-ink)}
/* 11-03: the name beside a guide number taps like the number (map.js binds it); numbers sit beside the buildings */
.map-guide-name{pointer-events:auto;cursor:pointer}
/* architect pages: link lists as divided rows, so the 48px touch height reads as a row, not as empty line spacing (user 11-03) */
.related-photos,.related-works{gap:0}
.related-photos a,.related-works a{border-top:1px solid #d5dbd0;font-size:15px;text-decoration:none}
.related-photos a:last-child,.related-works a:last-child{border-bottom:1px solid #d5dbd0}
/* numbers in circles (user 11-03): trim each number's line box to cap height and baseline so the badge centres the digit,
   not the font's ascent/descent (Malgun Gothic sat 0.6-0.9px low). Browsers without text-box keep the old look. */
.marker-face>span,.walk-point-number>span,.walk-spot b>span,.egg-face b>span,.marker-dot>span{text-box:trim-both cap alphabetic}
/* 11-03: '도면 보기 ›' is a row under the map with the other rows (user), not a tool-bar button; Namyang gets the same row */
.map-row-button{display:flex;width:100%;padding:0;border:0;border-bottom:1px solid #d5dbd0;background:none;font:14px/1.4 -apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--mobile-ink);text-align:left;cursor:pointer}
