:root{
  --navy:#17365D;
  --navy-deep:#102641;
  --cream:#F6F0E4;
  --paper:#FFFDF8;
  --brick:#A54A3A;
  --ink:#22252A;
  --muted:#666A70;
  --line:#D8D0C2;
  --shadow:0 10px 28px rgba(16,38,65,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  color:var(--ink);
  background:var(--paper);
}
a{color:inherit}
button,input,select{font:inherit}
.site-header{
  background:var(--navy-deep);
  color:white;
  position:sticky;
  top:0;
  z-index:10;
}
.header-inner{
  max-width:1180px;
  margin:auto;
  min-height:70px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{
  display:grid;place-items:center;
  width:42px;height:42px;
  border:1px solid rgba(255,255,255,.55);
  font-weight:700;letter-spacing:.08em;
}
.brand-text{font-weight:700}
.nav{display:flex;gap:22px}
.nav a{text-decoration:none;font-size:.95rem}
.hero{
  background:linear-gradient(180deg,var(--cream),#f9f6ef);
  border-bottom:1px solid var(--line);
}
.hero-inner{
  max-width:960px;
  margin:auto;
  text-align:center;
  padding:72px 24px 58px;
}
.eyebrow{
  margin:0 0 8px;
  color:var(--brick);
  font-family:Arial,sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
h1{
  color:var(--navy);
  font-size:clamp(3rem,8vw,5.6rem);
  line-height:.95;
  margin:0;
}
.tagline{font-size:1.35rem;margin:18px 0 34px;color:#4f5155}
.search-wrap{
  margin:auto;
  display:flex;
  max-width:760px;
  background:white;
  border:1px solid #c7bdad;
  border-radius:6px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.search-wrap input{
  flex:1;
  min-width:0;
  padding:18px 20px;
  border:0;
  outline:0;
  font-family:Arial,sans-serif;
  font-size:1.04rem;
}
.search-wrap button{
  border:0;border-left:1px solid #d8d1c5;
  padding:0 20px;background:#fff;color:var(--navy);
  cursor:pointer;
}
.search-help,.stats{font-family:Arial,sans-serif;color:var(--muted)}
.search-help{font-size:.9rem}
.stats{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.content-section{max-width:1180px;margin:auto;padding:56px 24px 72px}
.section-heading{
  display:flex;justify-content:space-between;align-items:end;
  gap:22px;margin-bottom:28px;
}
h2{color:var(--navy);font-size:2.2rem;margin:0}
.filters{
  display:flex;align-items:center;gap:10px;
  font-family:Arial,sans-serif;font-size:.9rem;
}
.filters select{padding:9px 30px 9px 10px;border:1px solid #bbb;background:white}
.results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.brick-card{
  border:1px solid var(--line);
  background:white;
  padding:0;
  text-align:left;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  transition:transform .12s ease, box-shadow .12s ease;
}
.brick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.brick-card-inner{padding:20px}
.brick-id{
  font-family:Arial,sans-serif;
  color:var(--brick);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.07em;
}
.inscription{
  font-size:1.03rem;
  line-height:1.48;
  margin:10px 0 18px;
}
.location{
  border-top:1px solid #ece6db;
  padding-top:12px;
  font-family:Arial,sans-serif;
  font-size:.82rem;
  color:var(--muted);
}
.empty-state{
  border:1px dashed #b9b1a3;
  padding:42px;text-align:center;background:#faf7f1;
}
.about-section{
  background:var(--navy);
  color:white;
  padding:48px max(24px,calc((100vw - 1132px)/2));
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:44px;
  align-items:start;
}
.about-section h2{color:white}
.about-section p:last-child{line-height:1.7;margin:20px 0 0}
footer{
  background:var(--navy-deep);color:#dfe6ef;
  padding:24px;text-align:center;font-family:Arial,sans-serif;font-size:.85rem;
}
dialog{
  width:min(680px,calc(100% - 32px));
  border:0;border-radius:8px;
  padding:0;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}
dialog::backdrop{background:rgba(7,18,31,.6)}
.dialog-close{
  position:absolute;right:12px;top:10px;
  border:0;background:transparent;font-size:2rem;color:var(--navy);cursor:pointer;
}
#dialog-content{padding:34px}
.dialog-id{font-family:Arial,sans-serif;color:var(--brick);font-weight:700;font-size:.8rem}
.dialog-inscription{font-size:1.35rem;line-height:1.5;margin:16px 0 26px}
.dialog-location{font-family:Arial,sans-serif;background:var(--cream);padding:16px;border-left:4px solid var(--brick)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){
  .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-section{grid-template-columns:1fr}
}
@media(max-width:600px){
  .brand-text{display:none}
  .nav{gap:14px;font-size:.9rem}
  .hero-inner{padding-top:50px}
  .search-wrap{display:block}
  .search-wrap button{width:100%;border-left:0;border-top:1px solid #ddd;padding:12px}
  .section-heading{align-items:start;flex-direction:column}
  .results-grid{grid-template-columns:1fr}
}
