/* Band II · Croinabhann – ein eigenständiger, schrittweise erweiterbarer Einblick */
:root{--city-bg:#0c1714;--city-dark:#09120f;--city-gold:#e0bd82;--city-paper:#e6dcc8}
html{scroll-padding-top:22px}
body{background:#0a1512;color:#eee6d6;overflow-x:hidden}
button{cursor:pointer}
.city-hero{background:radial-gradient(ellipse at 72% 30%,rgba(107,86,46,.22),transparent 55%),linear-gradient(130deg,#152820,#0a1513);border-bottom:1px solid var(--line);overflow:hidden}
.city-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(240px,.8fr);align-items:center;gap:clamp(35px,6vw,90px);min-height:650px;padding-top:65px;padding-bottom:65px}
.city-hero-copy h1{font:400 clamp(47px,5.3vw,84px)/1.14 var(--display);letter-spacing:-.035em;margin:18px 0 21px;text-wrap:balance;color:#f1e6d0}
.city-hero-copy h1 em,.city-section-heading h2 em,.city-future-heading h2 em{color:var(--city-gold);font-style:normal}
.city-rule{display:block;width:94px;height:1px;background:var(--city-gold);margin:0 0 25px}
.city-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#c9d5c8;max-width:650px}
.city-hero-copy .city-lead{font:italic 25px/1.45 var(--serif)!important;color:#e3c798!important;margin-bottom:16px}
.city-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.city-button{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:15px 20px;min-height:50px;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.city-button:hover{transform:translateY(-2px)}.city-button-primary{background:#e1c08b;color:#19251d}.city-button-primary:hover{background:#f1d6ab}.city-button-outline{border:1px solid #b9a579;color:#efdcb9}.city-button-outline:hover{background:rgba(220,188,128,.12)}
.city-hero-art{justify-self:center;width:min(100%,385px);height:520px;padding:12px;border:1px solid rgba(233,205,147,.45);box-shadow:0 27px 70px #020604a6;background:#2c2b20;transform:rotate(2deg)}
.city-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block;filter:saturate(.9)}
.city-map-section{padding:100px 0 120px;background:radial-gradient(ellipse at 20% 20%,#1d2b21,#0b1612 65%)}
.city-section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:50px;margin-bottom:42px}
.city-section-heading h2,.city-future-heading h2{font:400 clamp(39px,5.1vw,72px)/1.25 var(--display);margin:13px 0 0;letter-spacing:-.02em;color:#f1dfbe}
.city-section-heading>p{color:#bccdbd;font-size:15px;line-height:1.9;margin:0 0 9px}
.city-map-layout{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(270px,.65fr);align-items:start;gap:35px}
.city-map-frame{border:1px solid rgba(224,191,130,.45);padding:15px;background:#0c1310;min-width:0}
.city-map-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:3px 4px 16px;color:#d9bf8c;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.city-map-topline span{color:#adb9ae;font-size:10px;letter-spacing:0;text-transform:none;text-align:right}
.city-map-open{display:block;width:100%;padding:0;position:relative;border:0;background:#b7a382;text-align:left;line-height:0;overflow:hidden}
.city-map-open img{width:100%;height:auto;display:block;transition:filter .2s,transform .45s}
.city-map-open:hover img{filter:brightness(.95)}.city-map-open:focus-visible{outline-offset:4px}
.city-enlarge{position:absolute;left:16px;bottom:16px;background:rgba(9,23,18,.93);color:#efddb6;border:1px solid #f0d1a3;padding:14px 18px;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;gap:18px;align-items:center}
.city-map-aside{padding:clamp(24px,3.7vw,50px);background:#e6d9c0;color:#213029;border:1px solid #c4ae89;position:sticky;top:22px}
.city-aside-number{font:700 10px system-ui,sans-serif;letter-spacing:.17em;color:#8a6a3c}
.city-map-aside h3{font:400 clamp(25px,3vw,39px)/1.3 var(--serif);margin:20px 0;color:#20362b}
.city-map-aside p{font-size:14px;line-height:1.85;color:#435047}.city-map-hint{font-size:12px!important;color:#647165!important}
.city-location-list{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.city-location-list span{font-size:11px;color:#4f432e;border:1px solid #b4a180;padding:8px 11px;background:#f1e8d7}
.city-text-button{margin-top:10px;background:none;border:0;border-bottom:1px solid #967447;padding:7px 0 12px;color:#3b3b2b;display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.055em;line-height:1.5;text-align:left}
.city-text-button:hover{color:#856333}
.city-future{padding:108px 0 115px;background:#e7ddcc;color:#1f2b24}
.city-future .eyebrow{color:#806238}.city-future-heading{max-width:790px;margin-bottom:42px}.city-future-heading h2{color:#20352a}.city-future-heading h2 em{color:#977241}.city-future-heading>p:last-child{line-height:1.85;color:#58645b;font-size:15px}
.city-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.city-future-card{min-height:258px;display:flex;flex-direction:column;padding:clamp(23px,3vw,36px);border:1px solid #c9bda6;background:rgba(255,255,255,.2);position:relative}
.city-future-index{font:750 10px system-ui,sans-serif;letter-spacing:.18em;color:#876945}.city-future-ornament{position:absolute;right:27px;top:16px;font-size:37px;color:#c2b39d}
.city-future-card h3{margin:23px 0 10px;font:400 clamp(23px,2.6vw,36px)/1.26 var(--serif);color:#26392e}.city-future-card p{line-height:1.75;color:#59665a;font-size:13px;max-width:430px}
.city-future-status{margin-top:auto;padding-top:16px;font-weight:750;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#967748}
.city-disclosure{margin:50px 0 0;padding:20px 26px;border-left:2px solid #ac8954;background:#ded2bd;max-width:930px}
.city-disclosure p{margin:0;line-height:1.75;font-size:12px;color:#4c5147}.city-disclosure .city-disclosure-title{font-size:10px;font-weight:800;color:#79603a;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.city-disclosure .city-copyright{margin-top:8px;color:#6b6d61;font-size:11px}.city-disclosure cite{font-style:italic}
.city-end{padding:75px 0 100px;text-align:center;background:radial-gradient(ellipse at 50% 0,rgba(170,139,80,.12),transparent 60%),#0c1714}.city-end>div>span{color:#ceb17a;font-size:27px}.city-end p{font:400 clamp(26px,3.3vw,48px)/1.5 var(--serif);color:#efe1c7;margin:22px auto 31px}.city-end p em{font-style:normal;color:#aac4ae}.city-end>div>div{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.city-dialog{margin:auto;border:1px solid #baa179;background:#0e1814;color:#f0e0c7;padding:0;width:min(98vw,1150px);max-width:1150px;max-height:95dvh;box-shadow:0 25px 80px #000b}
.city-dialog::backdrop{background:rgba(2,6,5,.93)}.city-dialog-shell{display:flex;flex-direction:column;max-height:95dvh;overflow:hidden}.city-dialog-top{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 18px;border-bottom:1px solid rgba(208,181,132,.28);flex-wrap:wrap;background:#17271f}.city-dialog-top strong{font:400 18px/1.4 var(--serif);color:#e7c58d}
.city-dialog-controls{display:flex;gap:6px;align-items:center}.city-dialog-controls button{border:1px solid #b49b69;color:#f4e0bb;background:#1c3028;min-width:37px;height:35px}.city-dialog-controls button:hover{background:#37503f}.city-dialog-controls output{min-width:65px;text-align:center;font-size:11px}.city-dialog-controls .city-close{padding:0 14px;margin-left:6px;font-size:12px}
.city-dialog-scroll{overflow:auto;overscroll-behavior:contain;background:#11180f;min-height:0;flex:1;scrollbar-color:#c0a473 #18231d}.city-dialog-scroll img{display:block;width:100%;max-width:none;height:auto;margin:0 auto;user-select:none}
.city-dialog-help{margin:0;padding:10px 18px;background:#17271f;font-size:11px;color:#a8baa9}
@media(max-width:900px){.city-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(200px,.65fr);min-height:550px}.city-hero-art{height:425px}.city-map-layout{grid-template-columns:1fr minmax(230px,.64fr);gap:19px}.city-map-aside{padding:25px}.city-section-heading{gap:25px}}
@media(max-width:720px){.city-hero-grid{grid-template-columns:1fr;min-height:0;padding-top:52px;padding-bottom:48px}.city-hero-art{width:min(85%,320px);height:315px;transform:none;overflow:hidden}.city-hero-art img{object-position:50% 17%}.city-hero-copy h1{font-size:clamp(41px,9vw,67px)}.city-section-heading,.city-map-layout{grid-template-columns:1fr}.city-map-aside{position:static}.city-map-section,.city-future{padding:67px 0 76px}.city-future-grid{grid-template-columns:1fr}.city-future-card{min-height:230px}.city-dialog-top strong{font-size:15px}.city-dialog-controls .city-close{padding:0 8px}}
@media(max-width:420px){.city-hero-copy .city-lead{font-size:20px!important}.city-map-frame{padding:9px}.city-map-topline{flex-direction:column;align-items:flex-start}.city-enlarge{left:8px;bottom:8px;font-size:10px;padding:9px}.city-dialog-top{padding:9px}.city-dialog-help{font-size:10px}}
@media(prefers-reduced-motion:reduce){.city-map-open img,.city-button{transition:none}}

/* Band II – Layout parity with /welt/erwachen/.
   The visual grammar (intro, atlas, world-chapters, feature, gallery, closing)
   is shared with the first band; only these Croinabhann-specific treatments differ. */
body{background:#0c1714}
.city-atlas-open{display:block;position:relative;width:100%;margin:0;padding:0;border:0;background:#261e15;cursor:zoom-in;overflow:hidden;line-height:0}
.city-atlas-open>img{width:100%;height:auto;display:block;transition:filter .25s}
.city-atlas-open:hover>img,.city-atlas-open:focus-visible>img{filter:brightness(.91)}
.city-map-zoom{position:absolute;bottom:16px;left:16px;padding:13px 18px;line-height:1.4;letter-spacing:.08em;font:700 11px/1.4 system-ui,sans-serif;text-transform:uppercase;color:#f7deb5;background:rgba(9,22,17,.91);border:1px solid #d6ba85}
.city-map-zoom span{margin-left:9px}
.atlas-sidebar .place{text-decoration:none}
.atlas-sidebar .place:focus-visible{outline:2px solid #dbbe84;outline-offset:1px}
.city-world-feature .feature-photo img{object-position:50% 36%;filter:saturate(.65) brightness(.79);transform:scale(1.025)}
.city-world-feature .feature-shade{background:linear-gradient(90deg,rgba(4,12,12,.97) 0%,rgba(5,15,14,.86) 29%,rgba(6,13,14,.38) 73%,rgba(6,13,14,.28)),linear-gradient(0deg,#04100fdc 0%,transparent 52%)}
.city-map-lead .arche-lead-image .city-map-tile{width:100%;height:100%;aspect-ratio:auto;min-height:440px;border:0;display:block}
.city-map-tile img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.75)}
.city-map-lead .tile-scrim{display:flex}
.city-map-lead .city-location-list{margin:19px 0}
.city-map-lead .city-location-list span{background:#f0e8d6}
.city-map-lead .arche-lead-copy .image-disclaimer{margin-top:22px}
/* Chapter placeholders use *only* crops of the existing city map. They are not
   represented as new scenes or character portraits. */
.city-map-feature .feature-photo img,.city-map-feature .exodus-bg img{filter:saturate(.43) sepia(.14) brightness(.75);transform:scale(1.15)}
.city-map-feature-temple .feature-photo img{object-position:47% 44%}
.city-map-feature-streets .feature-photo img{object-position:64% 78%}
.city-map-feature-people .exodus-bg img{object-position:30% 57%}
.city-map-feature .feature-shade,.city-map-feature .exodus-shade{background:linear-gradient(90deg,rgba(5,13,12,.97) 0%,rgba(5,13,12,.8) 30%,rgba(5,13,12,.42) 74%,rgba(5,13,12,.48)),linear-gradient(0deg,rgba(4,12,12,.78),transparent 60%)}
.city-map-feature .feature-copy{align-items:flex-start;text-align:left}
.city-map-feature .feature-copy>p:not(.chapter-index){max-width:590px}
.city-coming{display:inline-flex;margin-top:20px;padding:11px 15px;border:1px solid #d6ba857d;background:#0b2019d9;font:700 10px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#e8cb91}
.future-chapter .chapter-body{padding-top:32px}
.future-chapter .chapter-standfirst{margin-bottom:0;border-bottom:1px solid var(--line);padding-bottom:40px}
.future-chapter{padding-bottom:80px}
.city-map-crop{height:370px;overflow:hidden;background:#261e16}
.city-map-crop img{height:100%;width:100%;object-fit:cover;object-position:50% 52%;display:block;filter:saturate(.65)}
.city-skeleton{display:flex;align-items:center}
.city-skeleton .mapcard-copy{padding:36px}
.city-skeleton .mapcard-copy .minor-label{display:block;margin:0 0 15px;color:#d6ba85}
.city-skeleton .mapcard-copy>a{display:inline-block;margin-top:11px;color:#efd19a;text-underline-offset:4px;font-size:13px}
@media(max-width:760px){
 .city-map-zoom{font-size:10px;padding:10px 12px;bottom:10px;left:10px}
 .city-map-lead .arche-lead-image .city-map-tile{height:320px;min-height:0}
 .city-map-feature .feature-shade,.city-map-feature .exodus-shade{background:linear-gradient(0deg,rgba(4,12,12,.96),rgba(6,14,13,.58) 65%,rgba(5,13,12,.22))}
 .city-map-feature .feature-photo img,.city-map-feature .exodus-bg img{transform:scale(1.1)}
 .city-map-crop{height:280px}
}
@media(max-width:520px){.city-map-lead .arche-lead-image .city-map-tile{height:270px}}
/* Chapter 03 alternates the alignment exactly like Erwachen chapter 03. */
.city-map-feature-streets .feature-shade{background:linear-gradient(270deg,rgba(4,12,12,.97) 0%,rgba(6,16,16,.88) 28%,rgba(6,13,14,.35) 68%,rgba(5,12,13,.14)),linear-gradient(0deg,rgba(4,12,12,.73),transparent 52%)}
.city-map-feature-streets .feature-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.city-map-feature-streets .feature-copy h2,.city-map-feature-streets .feature-copy>p:not(.chapter-index){max-width:600px}
@media(max-width:760px){.city-map-feature-streets .feature-shade{background:linear-gradient(0deg,rgba(4,12,12,.95),rgba(5,14,14,.73) 46%,rgba(5,14,14,.27))}.city-map-feature-streets .feature-copy{align-items:flex-start;text-align:left}}
