.explore-intro{background:#172c42;color:#fffef9;padding:86px 0 68px;position:relative;overflow:hidden}
.explore-intro:after{content:"";position:absolute;inset:0 0 0 55%;background:url('https://www.belfastinterfaceproject.org/sites/default/files/styles/flexslider_full/public/slides/slide04.png?itok=DeAaWiKs') center/cover no-repeat;opacity:.22;mask-image:linear-gradient(90deg,transparent,#000)}
.explore-intro .page-shell{position:relative;z-index:1}
.explore-intro .eyebrow{color:#c5cfd9}
.explore-intro h1{margin:0;font:normal clamp(56px,7.5vw,106px)/.96 Georgia,'Times New Roman',serif;letter-spacing:-.05em}
.explore-intro h1 em{font-weight:normal}
.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:42px}
.intro-bottom p{max-width:620px;margin:0;color:#e0e4e8;font:21px/1.45 Georgia,'Times New Roman',serif}
.explore-scroll{color:inherit;font:17px Georgia,'Times New Roman',serif;white-space:nowrap}
.explore-scroll span{display:inline-block;margin-left:12px}
.overview-section{background:#fbfaf6}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.overview-copy{font:17px/1.65 Georgia,'Times New Roman',serif;color:var(--ink-soft);padding-top:15px}
.overview-copy p:first-child{margin-top:0}.overview-copy strong{color:var(--ink)}
.overview-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--line)}
.overview-numbers div{display:flex;align-items:center;gap:16px;padding:28px 25px;border-right:1px solid var(--line)}
.overview-numbers div:first-child{padding-left:0}.overview-numbers div:last-child{border-right:0}
.overview-numbers strong{font:62px/.9 Georgia,'Times New Roman',serif;letter-spacing:-.04em}
.overview-numbers span{max-width:160px;font:15px/1.3 Georgia,'Times New Roman',serif}
.explorer-section{background:#e9ede9;padding-bottom:52px}
.explorer-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.explorer-heading h2{font-size:clamp(40px,4.5vw,62px)}
.explorer-heading p:last-child{font:17px/1.5 Georgia,'Times New Roman',serif;color:var(--ink-soft);margin:18px 0 0}
.record-total{text-align:right;white-space:nowrap}.record-total strong{display:block;font:60px/.9 Georgia,'Times New Roman',serif}.record-total span{font-size:12px}
.explorer-shell{display:grid;grid-template-columns:minmax(330px,29%) 1fr;max-width:1650px;margin:auto;background:#fffef9;box-shadow:0 22px 60px #10223420;border:1px solid var(--line)}
.explorer-controls{height:760px;display:flex;flex-direction:column;padding:22px 22px 0;min-width:0}
.controls-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:25px Georgia,'Times New Roman',serif}
.controls-heading button{background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);font:12px Arial,sans-serif;cursor:pointer}
.explorer-controls label{display:block;margin:11px 0 5px;font:bold 11px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#395673}
.explorer-controls input,.explorer-controls select{width:100%;min-width:0;height:42px;border:1px solid #c4ccd4;border-radius:0;background:#fff;padding:0 10px;color:var(--ink);font:14px Arial,sans-serif}
.explorer-controls input:focus,.explorer-controls select:focus{outline:2px solid #416283;outline-offset:1px}
.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.filter-pair>div{min-width:0}
.results-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:21px 0 10px;font:19px Georgia,'Times New Roman',serif}
.results-heading small{font:12px Arial,sans-serif;color:var(--ink-soft)}
.record-results{overflow:auto;flex:1;min-height:0;scrollbar-color:#abb7c2 transparent}
.record-results button{width:100%;display:grid;grid-template-columns:32px 1fr;gap:12px;text-align:left;padding:13px 5px;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink)}
.record-results button:hover,.record-results button.selected{background:#eceff2}
.result-number{color:#506e8c;font:16px Georgia,'Times New Roman',serif}
.result-main strong{display:block;font:17px/1.15 Georgia,'Times New Roman',serif}
.result-main small{display:block;font:11px/1.4 Arial,sans-serif;color:var(--ink-soft);margin-top:5px}
.no-records{padding:20px 4px;font:16px/1.45 Georgia,'Times New Roman',serif}
.explore-map{height:760px;position:relative;overflow:hidden;background:#e2e9de;cursor:grab;touch-action:pan-y}
.explore-map:active{cursor:grabbing}
.explore-tiles,.explore-markers{position:absolute;inset:0}
.explore-tiles img{position:absolute;width:256px;height:256px;max-width:none;min-height:0;object-fit:fill;filter:saturate(.72) contrast(.97)}
.explore-markers{pointer-events:none}
.explore-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);border-radius:50%;width:18px;height:18px;border:2px solid #fff;box-shadow:0 1px 7px #10223480;pointer-events:auto;cursor:pointer;padding:0}
.explore-marker:hover,.explore-marker:focus-visible,.explore-marker.selected{z-index:3;width:25px;height:25px;outline:2px solid #102234;outline-offset:2px}
.map-tools{position:absolute;z-index:4;top:17px;right:17px;display:flex;flex-direction:column;box-shadow:0 4px 15px #10223430}
.map-tools button{min-width:40px;height:40px;border:1px solid #b6c1cb;background:#fffef9;color:var(--ink);font:22px Georgia,serif;cursor:pointer}
.map-tools button:first-child{font:13px Arial,sans-serif}.map-tools button+button{border-top:0}
.map-legend{position:absolute;left:18px;bottom:22px;z-index:3;max-width:280px;background:#fffef9ed;padding:14px 17px;box-shadow:0 6px 24px #10223420}
.map-legend strong{display:block;font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}
.map-legend>div{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}
.map-legend span{font:11px Arial,sans-serif;white-space:nowrap;display:flex;align-items:center;gap:6px}
.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.explore-attribution{position:absolute;z-index:3;right:0;bottom:0;background:#ffffffe0;padding:2px 7px;font:10px Arial,sans-serif}
.explore-detail[hidden]{display:none}
.explore-detail{position:absolute;z-index:6;top:50%;left:50%;transform:translate(-50%,-50%);width:min(470px,calc(100% - 36px));max-height:calc(100% - 36px);display:flex;flex-direction:column;background:#fffef9;box-shadow:0 22px 70px #10223470;cursor:auto}
.explore-photo{height:200px;position:relative;flex:none;background:#dce1e5}
.explore-photo img{width:100%;height:100%;object-fit:cover}
.explore-photo span{position:absolute;right:8px;bottom:8px;background:#102234df;color:white;font:11px Arial,sans-serif;padding:5px 8px}
.explore-close{position:absolute;z-index:2;right:10px;top:10px;width:38px;height:38px;background:#fffef9;border:0;color:var(--ink);font:30px/1 Arial,sans-serif;cursor:pointer}
.explore-detail-body{padding:23px 27px 25px;overflow:auto;overscroll-behavior:contain}
.explore-detail-body .eyebrow{color:#4e6b89;margin-bottom:9px}
.explore-detail h3{font:34px/1.06 Georgia,'Times New Roman',serif;margin:0 0 5px}
.explore-locality{color:var(--ink-soft);font:14px Arial,sans-serif}
.detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.detail-tags span{font:11px Arial,sans-serif;border:1px solid #c9d1d8;padding:6px 9px;background:#edf2ed}
.explore-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 18px;padding:12px 0}
.explore-detail dt{font:bold 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#506e8c}
.explore-detail dd{margin:5px 0 0;font:16px Georgia,'Times New Roman',serif}
.record-description{font:17px/1.5 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}
.record-caveat{color:var(--ink-soft);font:12px Arial,sans-serif}
.explorer-method{padding-top:18px;color:var(--ink-soft);font:12px/1.6 Arial,sans-serif}
.explorer-method p{max-width:1000px}.explorer-method strong{color:var(--ink)}
.findings-section{background:#fbfaf6}
.findings-heading{margin-bottom:42px}
.findings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.findings-grid article{border-top:1px solid var(--line);padding-top:21px}
.findings-grid article.finding-large{grid-row:span 2;background:#edf1eb;border:0;padding:26px 30px}
.findings-grid span{display:block;font:bold 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#4e6a87}
.findings-grid h3{font:32px/1.1 Georgia,'Times New Roman',serif;margin:14px 0}
.findings-grid p{font:16px/1.55 Georgia,'Times New Roman',serif;color:var(--ink-soft);max-width:550px}
.type-bars{margin-top:26px}
.type-bars>div{display:grid;grid-template-columns:130px 1fr 28px;align-items:center;gap:10px;margin:10px 0;font:12px Arial,sans-serif}
.type-bars b{font-weight:400}.type-bars i{display:block;background:#4e6a87;height:9px;width:calc(var(--bar)*100%/35)}.type-bars small{text-align:right}
@media(max-width:1050px){.explorer-shell{grid-template-columns:320px 1fr}.explore-map{height:700px}.explorer-controls{height:700px}.map-legend{max-width:230px}.map-legend>div{grid-template-columns:1fr}}
@media(max-width:860px){.explorer-shell{grid-template-columns:1fr}.explorer-controls{height:390px}.explore-map{height:600px}.overview-grid{gap:6%}.intro-bottom{display:block}.explore-scroll{display:inline-block;margin-top:25px}.map-legend{max-width:280px}.map-legend>div{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.explore-intro{padding:65px 0 55px}.explore-intro h1{font-size:56px}.intro-bottom p{font-size:18px}.overview-grid{grid-template-columns:1fr}.overview-copy{padding-top:0}.overview-numbers{grid-template-columns:1fr;margin-top:30px}.overview-numbers div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.overview-numbers strong{font-size:49px}.explorer-heading{align-items:start}.explorer-heading h2{font-size:42px}.explorer-heading p:last-child{font-size:15px}.record-total strong{font-size:42px}.record-total span{font-size:10px}.explorer-shell{border-left:0;border-right:0}.explorer-controls{height:440px;padding:16px 17px 0}.explore-map{height:550px}.map-legend{left:9px;bottom:18px;padding:10px;max-width:200px}.map-legend>div{grid-template-columns:1fr}.map-legend strong{font-size:9px}.map-legend span{font-size:10px}.explore-detail{width:calc(100% - 24px);max-height:calc(100% - 24px)}.explore-photo{height:130px}.explore-detail-body{padding:15px 18px}.explore-detail h3{font-size:25px}.record-description{font-size:14px}.findings-grid{grid-template-columns:1fr}.findings-grid article.finding-large{grid-row:auto}}

.survey-tables{margin-top:60px;border-top:1px solid var(--line)}
.survey-tables summary{cursor:pointer;padding:24px 0;list-style:none;font:26px Georgia,'Times New Roman',serif}
.survey-tables summary::-webkit-details-marker{display:none}
.survey-tables summary:after{content:' +';float:right}
.survey-tables[open] summary:after{content:' −'}
.survey-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:8px 0 25px}
.survey-table-grid figure{margin:0;padding:18px;background:#f1f0e9;border:1px solid var(--line)}
.survey-table-grid img{width:100%;height:auto;object-fit:contain;background:white}
.survey-table-grid figcaption{margin-top:12px;font:15px Georgia,'Times New Roman',serif}
@media(max-width:700px){.survey-table-grid{grid-template-columns:1fr}.survey-tables summary{font-size:22px}}

/* Refined filter workspace */
.explorer-controls{
  background:#faf9f4;
  padding:29px 28px 0;
  border-right:1px solid #d2d8de;
}
.controls-heading{
  align-items:flex-end;
  margin:0 0 22px;
  padding-bottom:18px;
  border-bottom:1px solid #cad2d9;
}
.controls-heading>div{min-width:0}
.controls-heading small{
  display:block;
  margin-bottom:6px;
  color:#4c6783;
  font:bold 10px/1.2 Arial,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.controls-heading span{
  display:block;
  font:normal 32px/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.03em;
}
.controls-heading button{
  flex:none;
  padding:7px 10px;
  border:1px solid #c5cdd5;
  background:#f2f5ef;
  color:#293f55;
  font:12px Arial,sans-serif;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease;
}
.controls-heading button:hover,.controls-heading button:focus-visible{
  background:#e2e7ec;
  border-color:#5c7ea0;
}
.explorer-controls label{
  margin:0 0 8px;
  color:#455e77;
  font:bold 10px/1.3 Arial,sans-serif;
  letter-spacing:.14em;
}
.explorer-controls input,.explorer-controls select{
  height:49px;
  padding:0 13px;
  background:#fffefb;
  border:1px solid #c3ccd4;
  border-bottom-color:#91a8c0;
  color:#182a3d;
  font:16px Georgia,'Times New Roman',serif;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.explorer-controls input::placeholder{color:#5a7b9c;opacity:1}
.explorer-controls input:hover,.explorer-controls select:hover{
  background:#fff;
  border-color:#6989a9;
}
.explorer-controls input:focus,.explorer-controls select:focus{
  background:#fff;
  outline:0;
  border-color:#2f5174;
  box-shadow:0 0 0 3px #7794b134;
}
.explorer-controls>.filter-pair{
  padding-top:20px;
  margin-top:20px;
  border-top:1px solid #dce3db;
  gap:14px;
}
.explorer-controls>.filter-pair+.filter-pair{
  padding-top:18px;
  margin-top:18px;
}
.explorer-controls>.filter-pair+label{
  padding-top:19px;
  margin-top:19px;
  border-top:1px solid #dce3db;
}
.results-heading{
  margin-top:24px;
  padding:13px 0 12px;
  border-top:1px solid #bec7d0;
  border-bottom:1px solid #bec7d0;
  color:#17293b;
  font-size:20px;
}
.results-heading small{
  padding:5px 8px;
  background:#e5eaee;
  color:#35506c;
  font-weight:700;
}
.record-results button{padding:15px 5px}
@media(max-width:1050px){
  .explorer-controls{padding:25px 20px 0}
  .controls-heading span{font-size:28px}
  .explorer-controls input,.explorer-controls select{font-size:15px}
}
@media(max-width:860px){
  .explorer-controls{height:480px}
}
@media(max-width:600px){
  .explorer-controls{height:545px;padding:20px 17px 0}
  .controls-heading{margin-bottom:18px;padding-bottom:16px}
  .controls-heading span{font-size:27px}
  .explorer-controls>.filter-pair{padding-top:16px;margin-top:16px}
  .explorer-controls>.filter-pair+.filter-pair{padding-top:14px;margin-top:14px}
  .explorer-controls>.filter-pair+label{padding-top:15px;margin-top:15px}
  .results-heading{margin-top:18px}
}

/* Align paired filters even when one label wraps onto two lines. */
.explorer-controls .filter-pair label{
  display:flex;
  align-items:flex-start;
  min-height:30px;
  margin-bottom:8px;
}
@media(max-width:600px){
  .explorer-controls .filter-pair label{min-height:34px}
}

/* Compact disclosure keeps the map key accessible without obscuring markers. */
.map-legend{
  left:12px;
  bottom:15px;
  width:184px;
  max-width:calc(100% - 80px);
  padding:0;
  background:#fffef9f2;
  border:1px solid #c6ced6;
  box-shadow:0 3px 12px #10223420;
}
.map-legend summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:11px;
  padding:10px 12px;
  list-style:none;
  cursor:pointer;
  font:14px Georgia,'Times New Roman',serif;
  white-space:nowrap;
}
.map-legend summary::-webkit-details-marker{display:none}
.map-legend summary span{
  font:10px Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#4a6581;
}
.map-legend[open]{width:260px}
.map-legend[open] summary{border-bottom:1px solid #d5dbe1}
.map-legend #type-legend{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 9px;
  padding:11px 12px 13px;
}
.map-legend #type-legend span{
  font-size:10px;
  white-space:normal;
  line-height:1.2;
}
@media(max-width:600px){
  .map-legend{left:9px;bottom:16px;width:166px;padding:0;max-width:calc(100% - 30px)}
  .map-legend summary{padding:9px 10px;font-size:13px}
  .map-legend[open]{width:245px}
  .map-legend #type-legend{grid-template-columns:1fr 1fr}
}

.explorer-controls .results-heading[hidden],.explorer-controls .record-results[hidden]{display:none}

.explorer-controls:has(.record-results[hidden]){height:auto;align-self:start;padding-bottom:24px}

/* Let the filters occupy the full map height before a search. */
@media(min-width:861px){
  .explorer-controls:has(.record-results[hidden]){height:100%;align-self:stretch;padding-bottom:28px}
  .explorer-controls:has(.record-results[hidden])>.filter-pair,
  .explorer-controls:has(.record-results[hidden])>.filter-pair+.filter-pair,
  .explorer-controls:has(.record-results[hidden])>.filter-pair+label{margin-top:auto}
}
@media(max-width:860px){
  .explorer-controls:has(.record-results[hidden]){height:auto;align-self:stretch;padding-bottom:24px}
}
/* A quieter, more compact guide below the map. */
.explorer-section{padding-bottom:24px}
.explorer-method{padding-top:10px;font-size:11px;line-height:1.45}
.explorer-method p{max-width:none;margin:0}
@media(max-width:600px){.explorer-method{font-size:12px;line-height:1.5}}
