/* Incense Road case study — page-scoped styles */
.ir{--terra:#a5503a;--oxide:#6b3a2e;--sand:#d8c3a1;--line:rgba(35,35,33,.16)}
.ir-hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:#1d1a17;color:#fff}
.ir-hero video,.ir-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ir-hero .scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0) 30%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.78))}
.ir-hero-title{position:absolute;left:3%;right:3%;bottom:6vh;z-index:3}
.ir-hero-title span{font-size:11px;letter-spacing:.8px;text-transform:uppercase}
.ir-hero-title h1{font-size:clamp(56px,11vw,190px);line-height:.85;letter-spacing:-.04em;font-weight:600;margin:14px 0 10px}
.ir-hero-title .case-ar{font-size:clamp(20px,2.4vw,34px);margin:0}
.ir-hero-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px;font-size:12px;opacity:.9}
.ir-hero-meta b{display:block;font-weight:400;opacity:.65;font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.ir-hero .film-toggle{position:absolute;right:3%;top:96px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:40px;padding:8px 14px;font:inherit;font-size:12px;cursor:pointer;backdrop-filter:blur(6px)}

.ir-section{padding:110px 6%;border-top:1px solid var(--line)}
.ir-section.tint{background:#e3e0d8}
.ir-section.dark{background:#1f1d1a;color:#eeeae2}
.ir-head{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:56px}
.ir-head h2{font-weight:400;font-size:clamp(38px,4.8vw,76px);line-height:1.03;letter-spacing:-2px;margin:18px 0 0}
.ir-head p{max-width:560px;line-height:1.6;margin:0}
.ir-num{font-size:11px;letter-spacing:.8px;text-transform:uppercase;opacity:.7}

/* key figures */
.ir-figures{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:20px}
.ir-figures div{padding:26px 18px 0 0}
.ir-figures strong{display:block;font-size:clamp(34px,4vw,60px);font-weight:400;letter-spacing:-1.5px}
.ir-figures p{margin:8px 0 0;font-size:13px;line-height:1.5;max-width:240px}

/* location */
.ir-loc{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:18px}
.ir-loc figure{margin:0}
.ir-loc figcaption{font-size:11px;margin-top:10px;letter-spacing:.3px}
.ir-map{position:relative;aspect-ratio:4/5;background:#ddd8cf;overflow:hidden}
.ir-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) sepia(.25) contrast(1.05)}
.ir-coords{display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}
.ir-coords dl{margin:0;display:grid;gap:16px}
.ir-coords dt{font-size:10px;text-transform:uppercase;letter-spacing:.6px;opacity:.65}
.ir-coords dd{margin:4px 0 0;font-size:15px;line-height:1.45}
.ir-scale{display:flex;gap:8px;margin-top:24px}
.ir-scale span{flex:1;border-top:2px solid var(--ink);padding-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.ir-scale span:nth-child(2){border-color:var(--terra)}

/* image helpers */
.ir img{max-width:100%;height:auto}
.ir .ir-hero>img{height:100%}
.ir-loc>*,.ir-grid>*,.ir-head>*,.ir-lab-bar>*{min-width:0}
.ir-hero-title h1,.ir-hero-title span,.ir-hero-meta{text-shadow:0 1px 24px rgba(0,0,0,.35)}
.ir-wide{margin:0}
.ir-wide img,.ir-grid img{display:block;width:100%;height:auto}
.ir-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ir-grid.three{grid-template-columns:repeat(3,1fr)}
.ir-grid figure{margin:0}
.ir-grid figcaption,.ir-wide figcaption{font-size:11px;margin-top:10px;letter-spacing:.3px;line-height:1.5}
.ir .image-open{all:unset;display:block;position:relative;cursor:zoom-in;width:100%}
.ir .image-open .enlarge{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.85);color:#222;font-size:10px;padding:6px 10px;border-radius:30px;opacity:0;transition:opacity .3s}
.ir .image-open:hover .enlarge,.ir .image-open:focus-visible .enlarge{opacity:1}
.ir .image-open:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.ir-tag{display:inline-block;font-size:9px;letter-spacing:.6px;text-transform:uppercase;border:1px solid currentColor;border-radius:20px;padding:3px 8px;margin-right:8px;vertical-align:1px}

/* before / after slider */
.ir-compare{position:relative;overflow:hidden;aspect-ratio:1454/1093;background:#000;user-select:none;touch-action:pan-y}
.ir-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ir-compare .after{clip-path:inset(0 0 0 var(--pos,50%))}
.ir-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ir-compare .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;pointer-events:none}
.ir-compare .handle::after{content:'‹ ›';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#222;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:16px;letter-spacing:2px}
.ir-compare .lbl{position:absolute;top:14px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:5px 9px;border-radius:20px;pointer-events:none}
.ir-compare .lbl.b{left:14px}.ir-compare .lbl.a{right:14px}
.ir-compare:has(input:focus-visible){outline:2px solid var(--terra);outline-offset:3px}

/* process timeline */
.ir-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}
.ir-timeline li{padding:20px 16px 0 0;font-size:13px;line-height:1.5;position:relative}
.ir-timeline li::before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--terra)}
.ir-timeline b{display:block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px}

/* interactive lab */
.ir-lab{position:relative}
.ir-lab-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ir-lab-tabs button,.ir-lab-ctrl button{font:inherit;font-size:12px;border:1px solid #eeeae2;background:transparent;color:inherit;border-radius:40px;padding:9px 16px;cursor:pointer}
.ir-lab-tabs button[aria-pressed=true]{background:#eeeae2;color:#1f1d1a}
.ir-lab-canvas{position:relative;height:min(72vh,720px);min-height:380px;background:#2a2723;overflow:hidden;border-radius:2px}
.ir-lab-canvas canvas{display:block;width:100%;height:100%;cursor:grab}
.ir-lab-canvas canvas:active{cursor:grabbing}
.ir-lab-labels{position:absolute;inset:0;pointer-events:none}
.ir-lab-label{position:absolute;left:0;top:0;white-space:nowrap;font-size:11px;background:rgba(31,29,26,.82);color:#fff;padding:5px 9px;border-radius:20px;opacity:0;transition:opacity .2s;margin:-12px 0 0 8px}
.ir-lab-label b{color:#f0b48a;font-weight:500;margin-right:4px}
.ir-lab-zoom{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.ir-lab-zoom button{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.88);font-size:18px;cursor:pointer}
.ir-lab-hint{position:absolute;left:14px;bottom:14px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.75);pointer-events:none}
.ir-lab-bar{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:18px;align-items:start}
.ir-lab-ctrl{display:none;gap:14px;align-items:center;flex-wrap:wrap}
.ir-lab[data-mode=sun] .ctrl-sun,.ir-lab[data-mode=explode] .ctrl-explode,.ir-lab[data-mode=section] .ctrl-section{display:flex}
.ir-lab-ctrl label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;opacity:.8}
.ir-lab-ctrl input[type=range]{flex:1;min-width:180px;accent-color:#d77a55}
.ir-lab-ctrl select{font:inherit;font-size:12px;background:transparent;color:inherit;border:1px solid #eeeae2;border-radius:30px;padding:8px 12px}
.ir-lab-ctrl select option{color:#222}
.ir-lab-readout{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}
.ir-lab-readout div{border-top:1px solid rgba(238,234,226,.25);padding-top:8px}
.ir-lab-readout dt{font-size:9px;text-transform:uppercase;letter-spacing:.6px;opacity:.6}
.ir-lab-readout dd{margin:4px 0 0;font-size:15px}
.ir-lab:not([data-mode=sun]) .ir-lab-readout div:last-child{visibility:hidden}
.ir-lab-note{font-size:12px;line-height:1.6;opacity:.7;max-width:820px;margin-top:22px}
.ir-sunfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.ir-sunfacts div{border-top:1px solid rgba(238,234,226,.25);padding-top:14px}
.ir-sunfacts strong{display:block;font-size:30px;font-weight:400}
.ir-sunfacts p{margin:6px 0 0;font-size:13px;line-height:1.5;opacity:.8}

/* palette */
.ir-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}
.ir-palette div{aspect-ratio:1/1;display:flex;align-items:flex-end;padding:10px;font-size:10px;letter-spacing:.5px;text-transform:uppercase}

/* scope list */
.ir-scope{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.ir-scope div{padding:22px 18px 26px 0;border-bottom:1px solid var(--line)}
.ir-scope b{display:block;font-weight:500;margin-bottom:8px}
.ir-scope p{margin:0;font-size:13px;line-height:1.55}

/* masonry gallery */
.ir-masonry{columns:3;column-gap:16px}
.ir-masonry figure{break-inside:avoid;margin:0 0 16px}
.ir-masonry img{width:100%;height:auto;display:block}

.ir-credit{padding:60px 6%;font-size:12px;line-height:1.7;border-top:1px solid var(--line)}
.ir-credit p{max-width:900px;margin:0 0 10px}

/* v2: role */
.ir-role{display:grid;grid-template-columns:200px 1fr 1fr;gap:28px;align-items:start;padding:28px 0;border-top:1px solid var(--line);margin-bottom:10px}
.ir-role p{margin:0;font-size:clamp(18px,1.6vw,24px);line-height:1.4;max-width:620px}
.ir-role ul{list-style:none;margin:0;padding:0;columns:2;column-gap:20px;font-size:13px;line-height:1.5}
.ir-role li{padding:6px 0;border-bottom:1px solid var(--line);break-inside:avoid}

/* v2: maps */
.ir-maps{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}
.ir-map-main{position:relative}
#ir-map{height:min(78vh,720px);min-height:420px;background:#2a2723}
.ir-map-key{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;letter-spacing:.4px;text-transform:uppercase;margin-top:10px}
.ir-map-key i{display:inline-block;width:22px;height:5px;border-radius:3px;margin-right:8px;vertical-align:middle}
.ir-map-key .k-road{background:#ff7a45;box-shadow:0 0 0 4px rgba(226,100,60,.3)}
.ir-map-key .k-old{background:transparent;border:1px dashed #6b5d4f;height:9px}
.ir-map-side{display:flex;flex-direction:column;gap:18px}
.ir-map-region #ir-region{height:260px;background:#e8e8e6}
.ir-map-region span{display:block;font-size:11px;margin-top:8px;letter-spacing:.3px}
.ir-coords-list{margin:0;display:grid;gap:14px;border-top:1px solid var(--line);padding-top:16px}
.ir-coords-list dt{font-size:10px;text-transform:uppercase;letter-spacing:.6px;opacity:.65}
.ir-coords-list dd{margin:4px 0 0;font-size:15px;line-height:1.45}
.ir-maplabel{background:none;border:0;white-space:nowrap;font:600 11px/1 Inter,Arial,sans-serif;letter-spacing:1.4px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.85);transform:translate(-50%,-50%)}
.ir-maplabel.road{color:#ffd6c2;font-size:13px;transform:translate(10px,-50%)}
.ir-maplabel.soft{opacity:.75;font-weight:400}
.ir-maplabel.region{color:#a5503a;text-shadow:none;transform:translate(10px,-50%);font-size:12px}
.ir-maplabel.city{color:#555;text-shadow:none;font-size:10px;letter-spacing:.4px}
.ir-road-line{filter:drop-shadow(0 0 6px rgba(255,122,69,.9))}
.leaflet-container{font-family:Inter,Arial,sans-serif}

/* v3: professional location plan */
.ir-map-main{position:relative;background:#1b1916;border-radius:3px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
#ir-map{height:min(80vh,760px);min-height:460px;background:#1b1916}
#ir-map .ir-tiles-sat{filter:saturate(.45) brightness(.78) contrast(1.08)}
#ir-map.is-plan .ir-tiles-plan{filter:contrast(1.04)}
#ir-map::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:401;box-shadow:inset 0 0 140px rgba(0,0,0,.55)}
#ir-map.is-plan::after{box-shadow:inset 0 0 90px rgba(0,0,0,.12)}
.ir-road{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.2s cubic-bezier(.6,0,.2,1)}
#ir-map.drawn .ir-road{stroke-dashoffset:0}
.ir-map-title{position:absolute;left:18px;top:18px;z-index:500;background:rgba(20,18,16,.78);backdrop-filter:blur(8px);color:#fff;padding:14px 18px 15px;border-radius:2px;border-left:3px solid #e3262f;pointer-events:none}
.ir-map-title span{display:block;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;opacity:.7}
.ir-map-title strong{display:block;font-weight:500;font-size:22px;letter-spacing:-.3px;margin:4px 0 3px}
.ir-map-title em{font-style:normal;font-size:11px;opacity:.8}
.ir-map-legend{margin:0;padding:16px 18px;list-style:none;background:#1b1916;color:#eeeae2;font-size:11px;line-height:1.3;display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid rgba(255,255,255,.1)}
.ir-map-legend li{display:flex;align-items:center}
.ir-map-legend b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:#1b1916;font-size:10px;margin-right:9px}
.ir-map-legend li.key b{background:#e3262f;color:#fff}
.ir-map-legend li.sym{display:flex;align-items:center;opacity:.85}
.ir-map-legend li.sym:first-of-type{padding-left:22px;border-left:1px solid rgba(255,255,255,.18)}
.ir-map-legend i{display:inline-block;width:18px;margin-right:9px}
.ir-map-legend .s-road{height:5px;background:#e3262f;box-shadow:0 0 0 2px #fff,0 0 10px rgba(255,42,42,.7);border-radius:3px}
.ir-map-legend .s-old{height:10px;border:1px dashed #fff;background:rgba(255,255,255,.08)}
.ir-map-legend .s-walk{height:12px;border:1px dotted #fff;border-radius:50%}
.ir-pin{background:none;border:0}
.ir-pin b{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#1b1916;font:600 11px/1 Inter,Arial,sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.ir-pin span{position:absolute;left:16px;top:0;transform:translateY(-50%);white-space:nowrap;font:600 10px/1 Inter,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.9)}
.ir-pin.key b{background:#e3262f;color:#fff;width:26px;height:26px;font-size:12px;box-shadow:0 0 0 4px rgba(227,38,47,.3),0 2px 10px rgba(0,0,0,.5)}
.ir-pin.key span{font-size:12px;left:20px}
#ir-map.is-plan .ir-pin span{color:#1b1916;text-shadow:0 0 4px #fff,0 0 8px #fff}
.ir-ring-label{background:none;border:0;white-space:nowrap;font:400 10px/1 Inter,Arial,sans-serif;letter-spacing:.8px;color:rgba(255,255,255,.75);transform:translate(-50%,-50%)}
#ir-map.is-plan .ir-ring-label{color:#555}
.ir-north{width:34px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.ir-north svg{display:block;width:34px}
.ir-north text{font:600 10px Inter,Arial,sans-serif;fill:#fff}
#ir-map.is-plan .ir-north path:first-child{fill:#1b1916}
#ir-map.is-plan .ir-north text{fill:#1b1916}
.ir-basemap{display:flex;background:rgba(20,18,16,.78);border-radius:30px;padding:3px;backdrop-filter:blur(8px)}
.ir-basemap button{font:inherit;font-size:11px;border:0;background:transparent;color:#fff;padding:7px 12px;border-radius:30px;cursor:pointer}
.ir-basemap button[aria-pressed=true]{background:#fff;color:#1b1916}
#ir-map .leaflet-control-zoom{border:0;box-shadow:none}
#ir-map .leaflet-control-zoom a{background:rgba(20,18,16,.78);color:#fff;border:0;width:34px;height:34px;line-height:34px;backdrop-filter:blur(8px)}
#ir-map .leaflet-control-zoom a:hover{background:#e3262f}
#ir-map .leaflet-control-scale-line{background:rgba(20,18,16,.6);color:#fff;border-color:#fff;font-size:10px}
#ir-map .leaflet-control-attribution{background:rgba(20,18,16,.55);color:rgba(255,255,255,.7);font-size:9px}
#ir-map .leaflet-control-attribution a{color:rgba(255,255,255,.85)}
.ir-rlabel{background:none;border:0;white-space:nowrap;font:400 10px/1 Inter,Arial,sans-serif;color:#666;transform:translate(8px,-50%)}
.ir-rlabel.hl{color:#e3262f;font-weight:600;font-size:12px;letter-spacing:1px;transform:translate(14px,-50%)}
.ir-rlabel.below{transform:translate(8px,30%)}

/* v2: analysis explorer */
.ir-an-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.ir-an-tabs button{font:inherit;font-size:12px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:40px;padding:9px 14px;cursor:pointer}
.ir-an-tabs button span{opacity:.5;margin-right:6px;font-size:10px}
.ir-an-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ir-an-body{display:grid;grid-template-columns:2.2fr 1fr;gap:32px;align-items:start}
.ir-an-stage{position:relative;aspect-ratio:1780/1110}
.ir-an-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s ease}
.ir-an-stage img.on{opacity:1}
.ir-an-old{position:absolute;right:6%;bottom:2%;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--terra)}
.ir-an-side h3{font-weight:400;font-size:28px;letter-spacing:-.5px;margin:0 0 12px}
.ir-an-side p{line-height:1.6;margin:0 0 16px}
.ir-an-legend{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:12px;font-size:12px}
.ir-an-legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
.ir-an-notes{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.5}
.ir-an-notes li{padding:8px 0;border-top:1px solid var(--line)}

/* v2: cinematic frames */
.ir-cinema{background:#141210;color:#eeeae2}
.ir-cinema .ir-head p{color:#cfc9bd}
.ir-cine{margin:0 0 6px;position:relative}
.ir-cine img{display:block;width:100%;height:auto;aspect-ratio:2.39/1;object-fit:cover}
.ir-cine figcaption{display:flex;gap:16px;align-items:baseline;padding:12px 3% 26px;font-size:12px;letter-spacing:.3px;color:#cfc9bd}
.ir-section .ir-cine figcaption{padding-left:0}
.ir-cine figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#e8a07e}
.ir-cine-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ir-cine-pair .ir-cine img{aspect-ratio:16/10}

/* v2: drawings without background */
.ir-drawing img,.ir-cut img{background:transparent}
.ir-section.dark .ir-drawing img{filter:invert(1) hue-rotate(180deg) brightness(1.05)}
.ir-section.tint .ir-cine figcaption{color:var(--ink)}
.ir-section.tint .ir-cine figcaption span{color:var(--terra)}
.ir-drawing.ir-wide{margin:34px 0 40px}
.ir-drawings{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ir-drawings figure{margin:0}
.ir-drawings figure:first-child{grid-column:1/-1}
.ir-section.dark figcaption{color:#cfc9bd}
.ir-exploded{position:relative}
.ir-exp-labels{position:absolute;left:73%;top:0;bottom:34px;margin:0;padding:0;list-style:none;pointer-events:none;width:26%}
.ir-exp-labels li{position:absolute;left:0;transform:translateY(-50%);font-size:clamp(10px,1.05vw,14px);color:#eeeae2;white-space:nowrap}
.ir-exp-labels li::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#e8a07e;margin-right:8px;vertical-align:1px}

@media (max-width:900px){
  .ir-role{grid-template-columns:1fr}
  .ir-role ul{columns:1}
  .ir-maps,.ir-an-body,.ir-cine-pair,.ir-drawings{grid-template-columns:1fr}
  #ir-map{height:68vh;min-height:380px}
  .ir-map-legend{position:static;border-radius:0;grid-template-columns:1fr 1fr;background:#1b1916}
  .ir-map-title{left:10px;top:10px;padding:10px 12px}
  .ir-map-title strong{font-size:17px}
  .ir-map-title em{display:none}
  .ir-pin span{display:none}
  .ir-pin.key span{display:block}
  .ir-cine img{aspect-ratio:16/10}
  .ir-exp-labels{position:static;width:auto;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}
  .ir-exp-labels li{position:static;transform:none;font-size:12px}
  .ir-section{padding:72px 16px}
  .ir-head,.ir-loc,.ir-lab-bar{grid-template-columns:1fr;gap:22px}
  .ir-figures,.ir-scope{grid-template-columns:1fr 1fr}
  .ir-timeline{grid-template-columns:1fr 1fr;row-gap:26px}
  .ir-grid,.ir-grid.three{grid-template-columns:1fr}
  .ir-masonry{columns:2}
  .ir-sunfacts{grid-template-columns:1fr}
  .ir-palette{grid-template-columns:repeat(3,1fr)}
  .ir-lab-readout{grid-template-columns:1fr 1fr}
  .ir-map{aspect-ratio:4/3}
  .ir-hero .film-toggle{top:auto;bottom:24px}
}
@media (max-width:520px){.ir-masonry{columns:1}.ir-figures,.ir-scope{grid-template-columns:1fr}}
.ir-narrow{max-width:min(900px,100%);margin-left:auto !important;margin-right:auto !important}
.ir-map-legend .s-scope{height:10px;background:#c0392b;border:1px solid #fff;box-shadow:6px 0 0 -1px #e0a23c}
.ir-map-legend .s-restored{height:10px;background:#c0392b;border:1px solid #fff}.ir-map-legend .s-shop{height:10px;background:#f39c12;border:1px solid #fff}.ir-map-legend .s-maint{height:10px;background:linear-gradient(90deg,#d98c7c 33%,#e8c98e 33% 66%,#b7c4a8 66%);border:1px solid #fff}.ir-method{list-style:none;counter-reset:m;margin:0 0 50px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}.ir-method li{counter-increment:m;padding:20px 0 22px;border-top:1px solid var(--line);font-size:13px;line-height:1.6}.ir-method li::before{content:"0" counter(m);display:block;font-size:11px;letter-spacing:.8px;color:var(--terra);margin-bottom:6px}.ir-method b{display:block;font-weight:500;font-size:15px;margin-bottom:6px}.ir-mep{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ir-mep li{border-top:1px solid rgba(238,234,226,.25);padding-top:14px;font-size:13px;line-height:1.6;opacity:.85}.ir-mep b{display:block;font-weight:500;font-size:15px;margin-bottom:6px;opacity:1}@media (max-width:900px){.ir-method,.ir-mep{grid-template-columns:1fr}}
.ir-plans .ir-an-tabs{margin-bottom:18px}.ir-plan-stage figure{margin:0}.ir-plan-stage img{filter:drop-shadow(0 18px 30px rgba(0,0,0,.12))}.ir-maps2{align-items:start}#light .ir-mep li{border-top-color:var(--line)}#light .ir-mep li{opacity:1}
#ot-plan{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}#ot-plan .pl-stage{background:#f5f2ec;border:1px solid var(--line);border-radius:3px;padding:10px;box-shadow:0 30px 60px -40px rgba(0,0,0,.35)}#ot-plan svg{display:block;width:100%;height:auto;max-height:82vh}.pl-bldg{fill:#e2dccf;stroke:#b7ad9a;stroke-width:.35}.pl-restored{fill:#8e2f1c;stroke:#fff;stroke-width:.5}.pl-shop{fill:#e0891a;stroke:#fff;stroke-width:.5}.pl-street{fill:none;stroke:#c9b49a;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.pl-zones polygon{fill:rgba(226,155,30,.28);stroke:#c47a12;stroke-width:.8}.pl-festoon polygon{fill:rgba(160,90,200,.18);stroke:#7d4aa0;stroke-width:.8;stroke-dasharray:3 2}.pl-inner polyline{fill:none;stroke:#d4a017;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.pl-kiosks polygon{fill:rgba(40,70,160,.12);stroke:#28469f;stroke-width:1;stroke-dasharray:3 2}.pl-poles circle{fill:#1f1d1a;stroke:#fff;stroke-width:.8}.pl-label{font:600 7px Inter,Arial,sans-serif;fill:#1f1d1a;paint-order:stroke;stroke:#f5f2ec;stroke-width:2.2px;letter-spacing:.3px}.pl-label.mid{text-anchor:middle}.pl-label.end{text-anchor:end}.pl-deco path,.pl-deco rect{fill:#1f1d1a}.pl-deco .pl-hollow{fill:#f5f2ec;stroke:#1f1d1a;stroke-width:.6}.pl-side h3{font-weight:400;font-size:22px;margin:0 0 14px}.pl-side .pl-btns{display:grid;gap:8px}.pl-side button{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-size:13px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:transparent;color:inherit;cursor:pointer}.pl-side button[aria-pressed=false]{opacity:.45}.pl-side button i{flex:0 0 22px;height:12px;border-radius:2px}.pl-side small{display:block;font-size:11px;opacity:.65;margin-top:2px}.pl-key{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:12px;display:grid;gap:8px}.pl-key i{display:inline-block;width:18px;height:10px;margin-right:8px;vertical-align:-1px;border-radius:2px}@media (max-width:900px){#ot-plan{grid-template-columns:1fr}}
.pl-note{font-size:11px;line-height:1.55;opacity:.7;margin-top:16px}
.ap-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.ap-palette div{aspect-ratio:1.25/1;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.ap-palette b{font-weight:500;font-size:12px;line-height:1.3}.ap-palette span{font-size:10px;letter-spacing:.6px;opacity:.75;margin-top:4px}@media (max-width:900px){.ap-palette{grid-template-columns:repeat(2,1fr)}}
.ir-pano{position:relative;aspect-ratio:2.2/1;min-height:360px;border-radius:3px;overflow:hidden;background:#111 center/cover no-repeat}.ir-pano-view{position:absolute;inset:0}.ir-pano-start{position:absolute;inset:0;border:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55));color:#fff;font:inherit;cursor:pointer;display:grid;place-content:center;gap:10px;text-align:center}.ir-pano-start b{font-size:clamp(28px,4vw,54px);font-weight:400;letter-spacing:-1px}.ir-pano-start span{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;border:1px solid rgba(255,255,255,.6);border-radius:30px;padding:10px 18px;justify-self:center}.ir-pano.is-live .ir-pano-start{display:none}.ir-pano-group .ir-an-tabs{margin-bottom:16px}@media (max-width:900px){.ir-pano{aspect-ratio:4/3}}
