@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#202426;--cream:#f5f1ea;--paper:#fffdf9;--terra:#b75b4c;--rose:#df9d95;--teal:#467875;--muted:#666968;--line:#ddd4c9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{text-decoration:none;color:inherit}
header{height:72px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;background:#f5f1eaf2;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.logo{font-weight:700;letter-spacing:.13em}nav{display:flex;gap:28px;font-size:13px}nav a:hover{color:var(--terra)}
.hero{min-height:calc(100vh - 72px);padding:7vw 6vw;display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:center;background:var(--ink);color:#fff}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--terra)}.hero .eyebrow{color:var(--rose)}
h1{font-size:clamp(54px,7vw,94px);line-height:.93;margin:24px 0}em{font-family:'Playfair Display',serif;color:var(--rose)}
.hero p{font-size:20px;line-height:1.55;color:#ddd8d0;max-width:650px}.buttons{display:flex;gap:12px;margin-top:30px}
.button{display:inline-block;padding:14px 20px;background:var(--terra);font-size:13px;font-weight:700;border-radius:4px}.outline{background:transparent;border:1px solid #777}
.hero-wall{padding:28px;border:1px solid #5e6264;background:#282c2f;box-shadow:0 25px 60px #0005}.wall-label{font-size:11px;letter-spacing:.15em;color:var(--rose);margin-bottom:20px}
.hero-years{display:grid;grid-template-columns:repeat(4,1fr);gap:0 12px}.hero-years span{padding:11px 4px;border-bottom:1px solid #606467;font-size:12px;color:#eee}.hero-years .active{color:var(--rose);font-weight:700}
.wall-foot{font-size:11px!important;color:#aaa!important;margin:20px 0 0!important}
.section{padding:105px 7vw}.light{background:var(--paper)}.heading{max-width:900px;margin-bottom:42px}
.heading h2{font-size:clamp(36px,4.5vw,62px);line-height:1.02;margin:12px 0 18px}.heading p{font-size:17px;line-height:1.65;color:var(--muted)}
.year-panel{background:#fff;border:1px solid var(--line);padding:25px;margin-bottom:14px}.year-title{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}.year-title span{font-size:10px;letter-spacing:.1em;color:var(--terra);font-weight:700}.year-title strong{font-size:44px}.year-title small{color:var(--muted)}
.years{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.year{border:1px solid var(--line);background:#f5f1ea;padding:10px 4px;font:600 12px 'DM Sans';cursor:pointer}.year.selected{background:var(--teal);color:#fff;border-color:var(--teal)}.year:disabled{opacity:.42;cursor:not-allowed}
.status{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:22px 25px;background:#e9e1d7;border-left:4px solid var(--terra)}.status span{display:block;font-size:10px;letter-spacing:.1em;color:var(--terra);font-weight:700}.status strong{font-size:24px}.status p{margin:0;color:var(--muted);max-width:600px}
.filters{display:flex;gap:10px;margin:25px 0}.filters input{flex:1}.filters input,.filters select{font:inherit;padding:13px;border:1px solid var(--line);background:white;border-radius:4px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{min-height:180px;text-align:left;border:1px solid var(--line);background:white;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.card:hover{border-color:var(--terra);transform:translateY(-2px)}
.card .num{font-size:10px;color:var(--terra);font-weight:700}.card strong{font-size:17px}.card small{color:var(--muted)}.note{font-size:12px;color:var(--muted);margin-top:24px}
.project{background:#e9e1d7}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.timeline>div{background:#fff;padding:25px;border:1px solid var(--line)}.timeline span{font-size:32px;color:var(--terra);font-weight:700}.timeline h3{margin:8px 0}.timeline p{line-height:1.5;color:var(--muted)}.timeline .featured{border-top:4px solid var(--teal)}
.flow{display:flex;justify-content:center;gap:15px;align-items:center;margin-top:60px;flex-wrap:wrap}.flow span{background:#fff;padding:18px 22px;border:1px solid var(--line);font-weight:700;font-size:12px;letter-spacing:.08em}.flow span:nth-of-type(2){background:var(--teal);color:white}
.sources{background:#fffdf9}.source-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.source-links a{padding:18px;background:#eee7de;color:var(--teal);font-weight:700;font-size:13px}
.closing{background:var(--ink);color:white;text-align:center;padding:125px 7vw}.closing p{font-size:clamp(42px,6vw,75px);line-height:1.03;font-weight:700;margin:0}.closing span{display:block;margin-top:50px;color:#aaa;font-size:11px;letter-spacing:.08em}
.modal{position:fixed;inset:0;background:#000a;display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal.open{display:flex}.modalbox{background:var(--paper);max-width:650px;padding:45px;position:relative}.modalbox button{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.modalbox h2{font-size:42px;margin:18px 0}.modalbox p{line-height:1.6;color:var(--muted)}.modalbox a{color:var(--teal);font-weight:700}
@media(max-width:850px){nav{display:none}.hero{grid-template-columns:1fr;padding:70px 6vw}.section{padding:75px 6vw}.grid,.timeline,.source-links{grid-template-columns:1fr 1fr}.years{grid-template-columns:repeat(6,1fr)}.status{display:block}}
@media(max-width:520px){.grid,.timeline,.source-links{grid-template-columns:1fr}.hero-years{grid-template-columns:repeat(3,1fr)}.years{grid-template-columns:repeat(4,1fr)}.filters{flex-direction:column}.year-title{flex-wrap:wrap}}
