/* Daywise editorial inner-page system. Content/JS contracts stay with generators. */
body.motion-inner{--ink:#0b1414;--paper:#f1efe8;--gold:#c6b994;--muted:#58635b;--line:#b8beb2;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:Arial,'Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif;background:var(--ink);color:var(--paper);font:15px/1.85 var(--sans);margin:0;-webkit-font-smoothing:antialiased}
.motion-inner *, .motion-inner *::before,.motion-inner *::after{box-sizing:border-box}
.motion-inner [hidden]{display:none!important}
.motion-inner a{color:inherit;text-underline-offset:5px}
.motion-inner :is(a,button,input,select,summary):focus-visible{outline:2px solid #937b45;outline-offset:5px}
.motion-inner :is(h1,h2,h3){font-family:var(--serif);font-weight:400;letter-spacing:-.035em;overflow-wrap:anywhere}
.motion-inner h1{font-size:clamp(44px,6.8vw,100px);line-height:1.12;max-width:18ch;margin:24px 0 30px}
.motion-inner h2{font-size:clamp(27px,3vw,42px);line-height:1.35}
.motion-inner h3{font-size:26px;line-height:1.4}
.motion-inner .eyebrow{font:10px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#6b6859}
.motion-inner .dek{font-size:clamp(17px,1.6vw,22px);line-height:1.85;max-width:65ch;color:inherit}
.motion-inner .wrap{max-width:1440px;width:100%;padding-left:5%;padding-right:5%;margin:auto}
.motion-inner .header{min-height:100px;padding:24px 0;gap:24px;border:0;background:var(--ink);color:var(--paper);box-shadow:none;border-radius:0;position:relative;z-index:40}
.motion-inner .brand{font:30px/1.2 var(--serif);letter-spacing:-.055em;color:var(--paper);white-space:nowrap}
.motion-inner .brand-mark{display:none}
.motion-inner .site-nav-desktop{gap:24px;margin-left:auto;font-size:11px}
.motion-inner .language-switch{font-size:11px;color:var(--gold);padding:8px 0 8px 22px;border-left:1px solid #ffffff40;border-radius:0;background:none}
.motion-inner .header a:hover{color:var(--gold)}
.motion-inner .site-menu summary{color:var(--paper);background:none;border-radius:0}
.motion-inner .site-nav-mobile,.motion-inner .motion-inner-menu nav{background:var(--ink);color:var(--paper);border:1px solid #ffffff30;border-radius:0;box-shadow:none}
.motion-inner .motion-inner-menu{margin-left:auto;position:relative;font-size:12px}
.motion-inner .motion-inner-menu summary{cursor:pointer;padding:12px 0}
.motion-inner .motion-inner-menu nav{position:absolute;right:0;top:100%;min-width:200px;display:grid;padding:20px;gap:15px;z-index:50}
.motion-inner main{background:var(--paper);color:var(--ink);padding-top:65px;padding-bottom:90px;min-width:0}
.motion-inner main.wrap{max-width:none;padding-left:max(5%,calc((100% - 1296px)/2));padding-right:max(5%,calc((100% - 1296px)/2))}
.motion-inner>.wrap:has(>.simple-header){max-width:none;padding:0}
.motion-inner>.wrap>.simple-header{padding-left:5%;padding-right:5%}
.motion-inner>.wrap>.hub-back{padding:15px 5%;margin:0;color:var(--gold)}
.motion-inner>.wrap>main{padding-left:5%;padding-right:5%}
.motion-inner :is(.hub-intro,.experience-intro,.photo-first-intro){max-width:none;margin:0 0 65px;padding:0 0 35px;border-bottom:1px solid var(--line)}
.motion-inner :is(.hub-intro,.experience-intro,.photo-first-intro) h1{max-width:19ch}
.motion-inner :is(.back,.hub-back,.photo-first-breadcrumb){font-size:12px;letter-spacing:.04em}
.motion-inner :is(.prefecture-photo-grid,.inspiration-grid,.photo-first-grid,.discovery-grid,.grid){gap:55px 32px;align-items:start}
.motion-inner :is(.prefecture-photo-grid,.inspiration-grid,.discovery-grid):not(.discovery-compact-grid){grid-template-columns:repeat(3,minmax(0,1fr))}
.motion-inner :is(.prefecture-tile,.inspiration-card,.photo-first-card,.discovery-card,.card){background:transparent;color:var(--ink);border:0;border-radius:0;box-shadow:none;overflow:visible;min-width:0;transform:none}
.motion-inner :is(.prefecture-tile,.inspiration-card,.photo-first-card,.discovery-card,.card):hover{box-shadow:none;transform:none}
.motion-inner :is(.discovery-card-body,.photo-first-copy){padding:22px 0 12px}
.motion-inner :is(.prefecture-tile>a>div,.inspiration-card>div){padding-left:0;padding-right:0}
.motion-inner :is(.prefecture-tile,.inspiration-card,.photo-first-card,.discovery-card,.card) :is(h2,h3){color:var(--ink);font-family:var(--serif);font-weight:400}
.motion-inner :is(.discovery-card,.prefecture-tile,.inspiration-card){border-bottom:1px solid var(--line);padding-bottom:24px}
.motion-inner :is(.discovery-photo,.photo-first-open,.documentary-open,.inspiration-open,.frame){border-radius:0;background:#e3e2d9}
/* Keep photographs complete: never turn documentary frames into cropped covers. */
.motion-inner :is(.photo-fullframe,.keep-frame,.preserve-edges,.provider-full-image,.documentary-photo img,.explorer-photo img,.article-lead-photo img,.ai-generated-image){object-fit:contain!important;border-radius:0;filter:none}
.motion-inner :is(.place-photo-grid,.photo-first-grid){gap:35px}
.motion-inner .photo-place{max-width:none}
.motion-inner .place-copy{max-width:960px;margin:55px auto 0}
.motion-inner .place-copy>h1{max-width:20ch}
.motion-inner .explorer-photo{margin:0;border:0;border-radius:0;background:none}
.motion-inner :is(figcaption,.photo-first-credit,.tile-credit,.credit,.documentary-credit){font-size:11px;line-height:1.85;overflow-wrap:anywhere}
.motion-inner .dw-article-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px;align-items:center;background:var(--ink);color:var(--paper);padding:55px 4%;margin-bottom:40px;border-radius:0}
.motion-inner .dw-article-hero .article-top{padding:0;min-width:0}
.motion-inner .dw-article-hero h1{font-size:clamp(40px,5.4vw,80px);max-width:17ch}
.motion-inner .dw-article-hero :is(.eyebrow,.back,.credit){color:var(--gold)}
.motion-inner .article-lead-photo{margin:0;min-width:0;background:none;border-radius:0;overflow:visible}
.motion-inner .article-lead-photo img{width:100%;height:auto;max-height:none}
.motion-inner .article-layout{gap:60px;padding-top:35px}
.motion-inner :is(.reading,.place-guide-content){line-height:1.95}
.motion-inner .discovery-article{max-width:none}
.motion-inner .discovery-article>section{max-width:1000px;margin:45px auto;padding:32px 0;border-radius:0;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none}
.motion-inner .discovery-article>figure{max-width:1100px;margin:45px auto}
.motion-inner .discovery-article .experience-intro{max-width:1100px;margin-left:auto;margin-right:auto}
.motion-inner :is(.experience-action-copy,.guide-lead){font-family:var(--serif);font-size:23px;line-height:1.8}
.motion-inner :is(.essential,.quick-guide,.guide-block,.experience-details,.place-access,.guide-note,.discovery-critical,.guide-caution){border-radius:0;box-shadow:none;background:#e6e5db;color:#29342e;border-color:#b8beb2}
.motion-inner :is(.place-guide-nav,.region-discovery-links,.all-prefectures){gap:12px}
.motion-inner :is(.place-guide-nav,.region-discovery-links,.all-prefectures) a{border-radius:0}
.motion-inner :is(.discovery-filters,.event-filters,.daily-tools,.monthly-filters){background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:24px 0;gap:18px}
.motion-inner :is(input,select,button){font-family:var(--sans)}
.motion-inner :is(.discovery-filters,.event-filters,.daily-tools,.monthly-filters,.monthly-month-label) :is(input,select){background:#faf9f3;color:var(--ink);border:1px solid #a9b0a3;border-radius:0;min-height:46px;padding:10px 12px}
.motion-inner :is(.discovery-filters,.event-filters,.daily-tools,.monthly-filters) label{color:#4d574e}
.motion-inner :is(.discovery-count,.event-count,.monthly-meta){margin-top:22px;margin-bottom:28px;font-size:12px}
.motion-inner :is(.art-schedule-grid,.discovery-compact-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}
.motion-inner .art-schedule-card{padding:25px 0;border-top:1px solid var(--line)}
.motion-inner .art-period{color:#3a4a3e}
.motion-inner .event-row{border-radius:0;background:transparent;box-shadow:none;padding:30px 0;border-bottom:1px solid var(--line)}
/* Calendar remains a native, lazy-loaded application, including dynamic modal. */
body.motion-inner[data-calendar-lang] .daily-main{padding-top:60px}
body.motion-inner[data-calendar-lang] .daily-hero{padding:0 0 40px;gap:40px;border-bottom:1px solid var(--line);margin-bottom:28px}
body.motion-inner[data-calendar-lang] .daily-hero h1{font-family:var(--serif);font-size:clamp(44px,6.8vw,90px);font-weight:400;line-height:1.12;max-width:16ch;margin:22px 0}
.motion-inner .daily-stamp{color:#4b5b4f}
.motion-inner :is(.calendar-view-switch,.calendar-view-switch button,.region-chip){border-radius:0;box-shadow:none}
.motion-inner .calendar-view-switch{background:#e0e1d7}
.motion-inner .calendar-view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:none}
.motion-inner .monthly-top{padding:22px 0}
.motion-inner .monthly-top h2{font-family:var(--serif);font-size:40px;font-weight:400}
.motion-inner .monthly-grid{gap:40px 25px;grid-template-columns:repeat(3,minmax(0,1fr))}
.motion-inner .month-card{background:transparent;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line);padding-bottom:18px;color:var(--ink)}
.motion-inner .month-card h3{font-family:var(--serif);font-weight:400;font-size:24px}
.motion-inner .month-card:hover{transform:none;box-shadow:none}
.motion-inner :is(.month-card-photo,.monthly-photo,.monthly-photo-frame){border-radius:0}
.motion-inner .date-panel{background:#e6e5db;border:1px solid #babfaf;border-radius:0;box-shadow:none;top:20px}
.motion-inner .date-grid button{border-radius:0}
.motion-inner .date-grid button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.motion-inner .daily-card{padding:24px;border-radius:0;box-shadow:none;background:transparent;color:var(--ink)}
.motion-inner .daily-card h3{font-family:var(--serif);font-size:30px;font-weight:400}
.motion-inner :is(.monthly-modal,.monthly-dialog,.event-dialog,.event-modal,.modal-panel){border-radius:0;background:var(--paper);color:var(--ink)}
.motion-inner :is(.daily-more,.monthly-more,.art-more){border-radius:0;border:1px solid #7d8877;background:transparent;min-height:46px;color:var(--ink)}
/* Labels are prose, not clipped pills; source and safety notes remain visible. */
.motion-inner [data-ai-disclosure],.motion-inner .ai-label{position:static!important;display:flex!important;flex-wrap:wrap;gap:3px 12px;max-width:100%;width:auto;height:auto;max-height:none;overflow:visible;white-space:normal;word-break:normal;overflow-wrap:anywhere;border-radius:0;padding:12px 14px;background:#ded9c9;color:#29332b;line-height:1.7;font-size:11px;text-shadow:none}
.motion-inner .ai-label>*{white-space:normal;max-width:100%;overflow:visible}
.motion-inner :is(.ai-concept,.ai-image-notes,.ai-note-details){border-radius:0;overflow:visible}
.motion-inner .ai-image-notes{color:#4a564c;background:transparent;font-size:12px;line-height:1.9}
.motion-inner .ai-concept{background:transparent;border:0;margin:35px 0}
.motion-inner .ai-concept>img{width:100%;height:auto;max-height:650px}
.motion-inner :is(.documentary-status,.photo-role-label,.date-badge){white-space:normal;height:auto;border-radius:0;line-height:1.7}
.motion-inner .source-page{max-width:1050px;margin:auto}
.motion-inner .source-page>h1{max-width:15ch}
.motion-inner .source-page>ul{columns:2;column-gap:50px;font-size:13px}
.motion-inner .source-page>ul li{break-inside:avoid;margin-bottom:12px}
.motion-inner .photo-record{padding:35px 0;margin:35px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.motion-inner .photo-record h3{font-size:30px}
.motion-inner .footer{padding:65px 0;color:var(--paper);border-top:1px solid #ffffff30;background:var(--ink);border-radius:0;gap:28px;box-shadow:none}
.motion-inner .footer .footer-links{font-size:12px;color:var(--gold);flex-wrap:wrap}
.motion-inner .footer>p{font-family:var(--serif);font-size:21px}
.motion-inner .motion-inner-footer{padding-left:5%;padding-right:5%}
@media(min-width:1000px){.motion-inner .prefecture-photo-grid>.prefecture-tile:nth-child(6n+2),.motion-inner .inspiration-grid>.inspiration-card:nth-child(6n+2){margin-top:65px}.motion-inner .photo-first-grid{grid-template-columns:1.2fr 1fr}.motion-inner .photo-first-grid>.photo-first-card:nth-child(2){margin-top:80px}}
@media(max-width:1050px){.motion-inner .site-nav-desktop{display:none}.motion-inner .site-menu{display:block}.motion-inner :is(.prefecture-photo-grid,.inspiration-grid,.discovery-grid,.art-schedule-grid,.discovery-compact-grid):not(.x),.motion-inner .monthly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-inner .dw-article-hero{gap:25px}}
@media(max-width:700px){.motion-inner{font-size:14px}.motion-inner .header{min-height:82px;gap:18px}.motion-inner .brand{font-size:26px}.motion-inner main,.motion-inner main.wrap{padding-top:40px;padding-bottom:60px}.motion-inner h1{font-size:43px;line-height:1.2}.motion-inner h2{font-size:30px}.motion-inner h3{font-size:24px}.motion-inner :is(.hub-intro,.experience-intro,.photo-first-intro){margin-bottom:36px;padding-bottom:25px}.motion-inner :is(.prefecture-photo-grid,.inspiration-grid,.discovery-grid,.art-schedule-grid,.discovery-compact-grid):not(.x),.motion-inner :is(.monthly-grid,.photo-first-grid,.place-photo-grid){grid-template-columns:minmax(0,1fr);gap:35px}.motion-inner .dw-article-hero{grid-template-columns:minmax(0,1fr);padding:30px 6%;gap:25px}.motion-inner .dw-article-hero h1{font-size:43px}.motion-inner .dw-article-hero .article-lead-photo{width:100%;max-width:none}.motion-inner .article-layout{display:block}.motion-inner .article-aside{margin-top:35px}.motion-inner .place-copy{margin-top:30px}.motion-inner .source-page>ul{columns:1}.motion-inner .daily-layout{grid-template-columns:minmax(0,1fr);gap:25px}.motion-inner .date-panel{position:static}.motion-inner .daily-hero{align-items:start}.motion-inner .daily-stamp{display:none}body.motion-inner[data-calendar-lang] .daily-hero h1{font-size:44px}.motion-inner .calendar-view-controls{flex-wrap:wrap}.motion-inner .monthly-top{flex-wrap:wrap}.motion-inner .monthly-top h2{font-size:32px}.motion-inner :is(.discovery-filters,.event-filters,.daily-tools,.monthly-filters){gap:12px}.motion-inner .footer{flex-wrap:wrap;padding-top:45px;padding-bottom:45px}.motion-inner .footer-links{width:100%}.motion-inner .ai-label{font-size:11px}.motion-inner .experience-action-copy{font-size:21px}}
@media(prefers-reduced-motion:no-preference){.motion-inner a{transition:color .2s}.motion-inner .photo-first-open img,.motion-inner .discovery-photo img{transition:opacity .25s}.motion-inner .photo-first-open:hover img,.motion-inner .discovery-card-link:hover img{opacity:.87}}
@media(prefers-reduced-motion:reduce){.motion-inner *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Stable asynchronous photo geometry: identical before and after lazy arrival. */
.motion-inner #daily-cards>.daily-card{padding:24px}
.motion-inner #daily-cards>.daily-card>.event-photograph:first-child{margin-top:8px}
.motion-inner .monthly-dialog .daily-card{padding:20px}
.motion-inner dialog:not([open]){display:none!important}
.motion-inner .month-photo{border-radius:0}
.motion-inner .month-card-body{padding:20px 0}
.motion-inner .monthly-dialog h2{font-family:var(--serif);font-weight:400;font-size:32px}
.motion-inner .monthly-dialog-close{border-radius:0;background:var(--paper);color:var(--ink)}
@media(max-width:700px){.motion-inner #daily-cards>.daily-card{padding:18px}.motion-inner #daily-cards>.daily-card>.event-photograph:first-child{margin-top:14px}}
/* Explicitly beat legacy component-local tokens and mobile-nav specificity. */
.motion-inner :is(.card,.culture-card,.activity-card,.inspiration-card,.daily-card,.date-panel,.experience-action){--ink:#0b1414;--muted:#58635b;--accent:#675e40;--green:#364e41}
.motion-inner .header .site-menu .site-nav-mobile{background:var(--ink);color:var(--paper);border:1px solid #ffffff35;border-radius:0;box-shadow:none}
.motion-inner .header .site-menu .site-nav-mobile a{color:var(--paper);border-color:#ffffff30}
.motion-inner .header .site-menu .site-nav-mobile a:hover{color:var(--gold)}
/* Typography is a deliberate replacement for generator-specific sans headings. */
body.motion-inner main :is(h1,h2,h3){font-family:var(--serif)!important;font-weight:400!important}
body.motion-inner main :is(.hub-intro,.experience-intro,.photo-first-intro) h1{font-size:clamp(44px,6.8vw,100px);line-height:1.12}
body.motion-inner .dw-article-hero .article-top h1{font-size:clamp(40px,5.4vw,80px);line-height:1.14}
body.motion-inner main :is(.back,.hub-back){color:#526044}
body.motion-inner .dw-article-hero .back{color:var(--gold)}
@media(max-width:700px){body.motion-inner main :is(.hub-intro,.experience-intro,.photo-first-intro) h1,body.motion-inner .dw-article-hero .article-top h1{font-size:43px;line-height:1.2}}
/* Keep portrait collection objects whole without an oversized multi-screen lead. */
body.motion-inner .discovery-article>.documentary-photo img{width:auto;max-width:100%;height:auto;max-height:70vh;object-fit:contain;margin-left:auto;margin-right:auto}
body.motion-inner .dw-article-jump{border:0;border-bottom:1px solid var(--gold);border-radius:0;background:transparent;color:var(--paper);padding:12px 0;box-shadow:none}
body.motion-inner .monthly-dialog .event-photograph,body.motion-inner .monthly-dialog .event-photograph img{border-radius:0}
/* New public name fits without hiding the locale switch or navigation. */
@media(max-width:700px){.motion-inner .header,.motion-inner .redesigned-header{height:auto;min-height:88px;padding-top:16px;padding-bottom:16px;gap:12px;flex-wrap:nowrap}.motion-inner .header .brand{font-size:22px;line-height:1.15;white-space:normal;max-width:170px;min-width:0;flex:1 1 170px}.motion-inner .header>.language-switch{flex:0 0 auto;min-height:44px;display:flex;align-items:center;padding-left:12px}.motion-inner .header .site-menu{flex:0 0 auto}.motion-inner .header .site-menu>summary{min-height:44px;display:flex;align-items:center;padding:0;font-size:11px}.motion-inner .header .motion-inner-menu{flex:0 0 auto;margin-left:0}.motion-inner .header .motion-inner-menu summary{font-size:11px;min-height:44px}.motion-inner .header.simple-header{gap:10px}.motion-inner .header.simple-header .brand{max-width:145px}}
/* Match monthly discovery to the editorial system without arrival-dependent geometry. */
body.motion-inner[data-calendar-lang] .monthly-overview .month-card h3{font:400 25px/1.4 var(--serif);min-height:0;margin:14px 0 10px;color:var(--ink)}
body.motion-inner[data-calendar-lang] .monthly-overview .month-photo{height:230px;min-height:230px;max-height:none;background:#e3e4da}
body.motion-inner[data-calendar-lang] .monthly-overview .month-photo img{height:100%;max-height:100%;object-fit:contain!important;object-position:center;transform:none!important}
body.motion-inner[data-calendar-lang] .monthly-overview .month-card-body{padding:20px 0}
body.motion-inner[data-calendar-lang] .monthly-overview .month-card-summary{font-size:13px;line-height:1.8;min-height:0;margin-bottom:14px;-webkit-line-clamp:2}
body.motion-inner[data-calendar-lang] .monthly-overview .month-card-venue{font-size:11px;line-height:1.6;white-space:normal;overflow:visible;text-overflow:clip}
body.motion-inner[data-calendar-lang] .monthly-overview .month-card-date,body.motion-inner[data-calendar-lang] .monthly-overview .month-card-status{font-size:11px;line-height:1.7}
body.motion-inner[data-calendar-lang] .monthly-overview .month-card-action{font-size:12px;color:#293a30;margin-top:16px}
body.motion-inner[data-calendar-lang] .monthly-overview .month-photo-kind{font-size:10px;line-height:1.6;padding:8px 10px;background:#e3e4da;color:#465147;min-height:32px}
@media(max-width:700px){body.motion-inner[data-calendar-lang] .monthly-overview .month-card h3{font-size:25px}body.motion-inner[data-calendar-lang] .monthly-overview .month-photo{height:225px;min-height:225px}.motion-inner .region-chips{scrollbar-color:#8d9887 #e3e4da}}
/* Real/source images never gain a hover derivative or visual concealment. */
.motion-inner img,.motion-inner a:hover img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;mask:none!important;mix-blend-mode:normal!important}
