/* 지금, 일본 — shared visual system, proposal 2026-10-21 */
:root{--paper:#faf7f1;--ink:#292d2b;--muted:#655f59;--line:#e5ddd3;--coral:#ae493e;--sakura:#f9e9e3;--card:#fffefa;--design-radius:20px;--design-shadow:0 8px 28px #49352309}
body{color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{word-break:keep-all;overflow-wrap:anywhere}
p{line-height:1.85}h1,h2{letter-spacing:-.045em}h3{letter-spacing:-.025em}
.section{margin-top:76px;margin-bottom:76px}.section-heading{margin-bottom:28px}.section-heading p{color:var(--muted)}
.header.d-header{border-bottom-color:#e5ddd3}.design-label{letter-spacing:.035em}.d-header .brand svg{color:#c96d62}
.button,.hero-cta{border-radius:999px;min-height:46px}.hero-description{max-width:480px}.hero-copy h1{line-height:1.22}
.photo-city,.photo-guide,.booking-card,.camera-card,.story-card,.info-feature-grid>section{border-radius:var(--design-radius);overflow:hidden;box-shadow:var(--design-shadow)}
.photo-city-scene{border-radius:20px 20px 0 0;overflow:hidden}.photo-city-scene img,.photo-guide img{transition:transform .35s ease}.photo-city:hover .photo-city-scene img,.photo-guide:hover img{transform:scale(1.025)}
.photo-city-copy h3{font-size:30px}.photo-guide-copy{padding:24px}.city-shortcuts{background:var(--card)}
.camera-card{border-top:1px solid var(--line);padding:25px}.camera-card h3{font-size:21px}.camera-card-actions{border-top:1px solid var(--line);padding-top:15px}
.camera-city-art,.utility-hero>img,.editorial-scene{border-radius:24px}.camera-city-heading{gap:40px}.camera-city-heading h1{margin-bottom:18px}
.camera-help,.live-map-section{background:#f6eee5;border-color:#e7dace}.camera-help{border-left:3px solid #be7564}.city-info-grid>section{background:var(--card);border-radius:16px;padding:25px}
.image-note,.source-date,.scene-caption{color:#64554b}.image-note{font-size:12px;line-height:1.8}
.policy-copy{max-width:820px}.policy-copy p,.policy-copy li{line-height:1.95}.policy-copy h2{margin-top:44px}
.design-editorial{max-width:1200px;margin:80px auto;padding:0 32px}.design-eyebrow{font-size:11px;letter-spacing:.19em;color:#965143;font-weight:700;margin:0 0 12px}.design-editorial h2{font-family:var(--heading,serif);font-size:clamp(28px,3.2vw,42px);line-height:1.4;margin:0 0 12px}.design-editorial-intro{color:var(--muted);margin-bottom:30px}
.design-mosaic{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.design-journey{position:relative;display:block;min-width:0;isolation:isolate;min-height:360px;border-radius:22px;overflow:hidden;background:#41483f;color:#fff;text-decoration:none}.design-journey:first-child{min-height:440px}.design-journey img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:-2;transition:transform .4s}.design-journey:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17241dda,transparent 80%);z-index:-1}.design-journey:hover img{transform:scale(1.035)}.design-journey>div{position:absolute;bottom:0;left:0;right:0;padding:28px}.design-journey small{letter-spacing:.12em;color:#fff6e9}.design-journey h3{color:#fff;font-size:27px;margin:8px 0}.design-journey p{color:#fff7ef;font-size:14px;margin:0 0 18px}.design-journey span{display:inline-block;border-bottom:1px solid #ffffff80;padding-bottom:5px;font-size:13px}.design-mosaic-note{font-size:12px;color:#655e58;margin-top:15px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3f6860;outline-offset:4px}
footer{background:#f1ebe2;border-top:1px solid #e4d9cb}
@media(min-width:1000px){.photo-city-grid{gap:26px}.photo-guide-grid{gap:22px}.camera-grid{gap:24px}}
@media(max-width:760px){.section{margin-top:48px;margin-bottom:48px}.design-editorial{padding:0 20px;margin:48px auto}.design-mosaic{grid-template-columns:1fr 1fr;gap:14px}.design-journey:first-child{grid-column:1/-1;min-height:320px}.design-journey{min-height:280px}.design-journey>div{padding:18px}.design-journey h3{font-size:23px}.design-journey p{font-size:13px}.camera-city-heading{gap:24px}.camera-card{padding:20px}.photo-guide-copy{padding:18px}}
@media(max-width:400px){.design-mosaic{grid-template-columns:1fr}.design-journey,.design-journey:first-child{min-height:280px}}
@media(prefers-reduced-motion:reduce){.photo-city-scene img,.photo-guide img,.design-journey img{transition:none}.photo-city:hover .photo-city-scene img,.photo-guide:hover img,.design-journey:hover img{transform:none}}
