:root{
  --paper:#F2E9D7;
  --paper-2:#EADFC7;
  --ink:#1B1410;
  --ink-soft:#4A3A2E;
  --rule:#C9B68E;
  --burgundy:#6E1F2C;
  --brass:#B0843C;
  --brass-light:#D4AC68;
  --forest:#2F4636;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Spectral',serif;
  font-size:18px;
  line-height:1.72;
  background-image:
    radial-gradient(circle at 12% 8%,rgba(176,132,60,.08),transparent 38%),
    radial-gradient(circle at 90% 70%,rgba(110,31,44,.06),transparent 42%);
}
body::before{
  content:"";
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");
  opacity:.16;pointer-events:none;mix-blend-mode:multiply;z-index:1;
}
.wrap{max-width:940px;margin:0 auto;padding:60px 40px 110px;position:relative;z-index:2}
nav.top{display:flex;align-items:center;justify-content:space-between;padding:16px 0 24px;border-bottom:.5px solid var(--rule);margin-bottom:58px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft)}
nav.top a{color:inherit;text-decoration:none;border-bottom:.5px solid transparent;transition:border-color .25s}
nav.top a:hover{border-color:var(--brass)}
nav.top a.current{color:var(--burgundy);font-weight:600;border-color:var(--brass)}
nav.top .links{display:flex;gap:24px;flex-wrap:wrap}
nav.top .home{font-weight:600;color:var(--brass)}
.masthead{border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:44px 0 38px;text-align:center}
.kicker,.section-kicker{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--burgundy)}
.title{font-family:'Fraunces',serif;font-size:clamp(56px,9vw,104px);font-weight:300;line-height:.93;letter-spacing:-.03em;margin:13px 0 22px}
.title em,.section-title em{font-style:italic;color:var(--burgundy)}
.subtitle{max-width:680px;margin:0 auto;font-size:21px;line-height:1.5;font-style:italic;color:var(--ink-soft)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:.5px solid var(--rule);margin-bottom:72px}
.fact{padding:22px 18px;border-right:.5px solid var(--rule)}
.fact:last-child{border-right:0}
.fact b{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);margin-bottom:7px}
.fact span{font-size:14px;line-height:1.35;color:var(--ink-soft)}
.lead{font-size:24px;line-height:1.55;font-weight:300;text-align:center;max-width:760px;margin:0 auto 86px}
.lead::after{content:"❦";display:block;color:var(--brass);font-size:24px;margin-top:32px}
.section{margin:78px 0}
.section-head{text-align:center;margin-bottom:32px}
.section-title{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(40px,6vw,66px);line-height:1.03;margin-top:10px}
.prose{max-width:760px;margin:0 auto}
.prose p{margin-bottom:22px}
.prose a,.closing a{color:var(--burgundy);text-decoration:none;border-bottom:.5px solid var(--brass)}
.community-map{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0}
.map-card{background:rgba(234,223,199,.66);border:.5px solid var(--rule);border-top:3px solid var(--brass);padding:26px 24px}
.map-card:nth-child(2){border-top-color:var(--burgundy)}
.map-card:nth-child(3){border-top-color:var(--forest)}
.map-card .num{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.map-card h3{font-family:'Fraunces',serif;font-size:27px;font-weight:400;line-height:1.1;margin:11px 0 12px}
.map-card p{font-size:15px;line-height:1.55;color:var(--ink-soft)}
.rhythm{display:grid;grid-template-columns:repeat(2,1fr);border-top:.5px solid var(--rule);border-left:.5px solid var(--rule);margin-top:34px}
.rhythm article{padding:28px;border-right:.5px solid var(--rule);border-bottom:.5px solid var(--rule)}
.rhythm small{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.rhythm h3{font-family:'Fraunces',serif;font-size:30px;font-weight:400;margin:7px 0}
.rhythm p{font-size:15px;color:var(--ink-soft);line-height:1.55}
.bridge{background:var(--ink);color:var(--paper);padding:48px;margin:84px 0;position:relative}
.bridge::before{content:"EL PUENTE";position:absolute;right:24px;top:12px;font-family:'Fraunces',serif;font-size:72px;line-height:1;color:rgba(242,233,215,.055);letter-spacing:.04em}
.bridge .section-kicker{color:var(--brass-light)}
.bridge h2{font-family:'Fraunces',serif;font-size:45px;font-weight:300;line-height:1.05;margin:10px 0 20px;position:relative}
.bridge p{max-width:720px;color:#e8dcc4;position:relative;margin-top:16px}
.recognition{border-left:4px solid var(--burgundy);padding:28px 32px;background:var(--paper-2);max-width:760px;margin:36px auto}
.recognition .date{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--burgundy)}
.recognition h3{font-family:'Fraunces',serif;font-size:31px;font-weight:400;line-height:1.15;margin:10px 0}
.recognition p{font-style:italic;color:var(--ink-soft)}
.closing{text-align:center;border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:42px 20px;margin-top:86px;font-size:20px}
.closing strong{font-family:'Fraunces',serif;font-size:32px;font-weight:400;display:block;margin-bottom:12px}
footer{text-align:center;margin-top:62px;color:var(--ink-soft);font-size:13px}
footer a{color:inherit;text-decoration:none;border-bottom:.5px solid var(--rule)}
@media(max-width:760px){
  .wrap{padding:36px 22px 80px}
  nav.top{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:42px}
  nav.top .links{gap:15px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(-n+2){border-bottom:.5px solid var(--rule)}
  .community-map{grid-template-columns:1fr}
  .rhythm{grid-template-columns:1fr}
  .bridge{padding:36px 25px;margin:64px 0}
  .bridge::before{font-size:46px}
}
@media(max-width:430px){.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:.5px solid var(--rule)}.fact:last-child{border-bottom:0}}
