/* V4.0.2 · Consistent high-contrast public pages, preserved image proportions,
   combined services/stories navigation. Loaded LAST to override legacy styles. */
:root{--elc402-ivory:#f6efe5;--elc402-ink:#33221e;--elc402-gold:#efd3a4;--elc402-dark:#1b1515}
/* Repair the exact dark-on-dark heading and light-on-light legal notice in city routes. */
body.v26-app .section.elc402-city-paper{background:var(--elc402-ivory)!important;color:var(--elc402-ink)!important}
body.v26-app .elc402-city-paper .city-detail-grid h2{color:#492a2b!important;text-shadow:none!important;line-height:1.32}
body.v26-app .elc402-city-paper .city-detail-grid p:not(.city-legal-note){color:#422c29!important;opacity:1!important}
body.v26-app .elc402-city-paper .city-detail-grid .eyebrow{color:#785021!important}
body.v26-app .elc402-city-paper .city-legal-note{background:#fffaf2!important;color:#39261e!important;border-left:4px solid #996338!important;border-top:1px solid #e2cda9;border-right:1px solid #e2cda9;border-bottom:1px solid #e2cda9;opacity:1!important;padding:15px 17px!important;line-height:1.75!important}
/* The image's natural ratio is the reliable source of truth; no crop or letterbox. */
body.v26-app .elc402-city-paper .city-detail-photo{display:flex;align-items:center;justify-content:center;min-width:0;background:transparent!important;overflow:visible}
body.v26-app .elc402-city-paper .city-detail-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border:1px solid #ccb498;border-radius:12px;box-shadow:0 10px 30px #351c1720}
/* Korean keep-all and long Latin labels must not widen CSS grid tracks. */
body.v26-app .elc402-city-paper .city-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,44%);min-width:0}
body.v26-app .elc402-city-paper .city-detail-grid>div{min-width:0}
body.v26-app .elc402-city-paper .city-detail-grid .eyebrow{overflow-wrap:anywhere;word-break:normal}
/* Related city information keeps an explicitly readable light-on-dark palette. */
body.v26-app .v351-city-editorial h2,body.v26-app .section-dark.v351-city-editorial h2{color:#f2d7ad!important}
body.v26-app .v351-city-editorial p{color:#ebdbcd!important;opacity:1!important}
/* Guard common bright notifications against global inherited pale text. */
body.v26-app .notice:not(.error):not(.success),body.v26-app .v392-inline-note{color:#3e2c22!important}
body.v26-app .notice.error{color:#64251e!important}
body.v26-app .notice.success{color:#184d30!important}
/* Explicit inner link focus and accessible combined service hub navigation. */
body.v26-app .elc402-hub-nav{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 24px;max-width:1080px;padding:13px;border:1px solid #735a44;border-radius:12px;background:#2d2120}
body.v26-app .elc402-hub-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:7px 13px;color:#f2dac2;background:#3e2e29;border:1px solid #846746;border-radius:8px;font-size:13px;line-height:1.55;text-decoration:none}
body.v26-app .elc402-hub-nav a.elc402-book-link{background:#d8ae72;color:#23140e;border-color:#e1c18c;font-weight:700}
body.v26-app .elc402-hub-nav a:hover{border-color:#f1d6a6}
body.v26-app .elc402-hub-nav a:focus-visible,body.v26-app .elc402-hub a:focus-visible{outline:3px solid #f7d58d;outline-offset:3px}
body.v26-app .elc402-hub-anchor,body.v26-app #rituals,body.v26-app #guides,body.v26-app #stories{scroll-margin-top:110px}
body.v26-app .elc402-guides{padding:25px 20px 30px;margin-top:28px;background:#251c1d;border:1px solid #74533b;border-radius:13px}
body.v26-app .elc402-guides .elc376-guide-heading h2{color:#efd2a2!important;font-size:clamp(21px,2.2vw,29px)}
body.v26-app .elc402-guides .elc376-guide-heading p{color:#e8d5c5!important;line-height:1.85}
body.v26-app .elc402-guides .v330-guide-grid{margin-top:22px}
body.v26-app .elc402-guides .v330-guide-card{background:#f7f1e8!important;border:1px solid #c7af92!important;border-radius:10px;overflow:hidden}
body.v26-app .elc402-guides .v330-guide-card .copy{color:#32221c!important}
body.v26-app .elc402-guides .v330-guide-card h2{color:#422823!important}
body.v26-app .elc402-guides .v330-guide-card p{color:#58453b!important}
body.v26-app .elc402-guides .v330-guide-card a{color:#75431d!important}
body.v26-app .elc402-guides .v330-guide-card img{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain!important;object-position:center;background:#e8ded0}
body.v26-app .elc402-all-guides{text-align:center;margin-top:20px}
body.v26-app .elc402-all-guides a{color:#f4dfbf!important}
body.v26-app .elc402-all-guides a:hover{color:#fff!important}
/* Service/cards and long-form pages: preserve the entire photo when its edges matter. */
body.v26-app .elc401-step img,body.v26-app .elc396-scene-image img,body.v26-app .elc396-article-cover img{height:auto!important;object-fit:contain!important;object-position:center}
/* Do not force desktop rows wider than the viewport at narrow sizes. */
@media(max-width:980px){body.v26-app .elc402-city-paper .city-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:20px}}
@media(max-width:760px){body.v26-app .elc402-city-paper .city-detail-grid{grid-template-columns:minmax(0,1fr);gap:22px}body.v26-app .elc402-city-paper .city-detail-photo{max-width:480px;margin:0 auto;width:100%}body.v26-app .elc402-hub-nav{padding:9px;gap:7px}body.v26-app .elc402-hub-nav a{font-size:12px;min-height:42px;padding:7px 10px}body.v26-app .elc402-guides{padding:16px 12px}}
@media(max-width:370px){body.v26-app .elc402-hub-nav a{flex:1 1 42%;font-size:11px}}
