:root{--ink:#080a0a;--panel:#111313;--line:#39332a;--bronze:#c69755;--gold:#e3b66e;--paper:#e7dfd2;--muted:#a59a8a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(90deg,transparent 49.5%,#fff 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#fff 50%,transparent 50.5%);background-size:4px 4px;mix-blend-mode:soft-light}
header{height:76px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;background:#090b0bf2;border-bottom:1px solid #332c22;position:relative;z-index:2}
.mark{display:flex;gap:.75rem;align-items:center;color:var(--paper);text-decoration:none;letter-spacing:.16em}
.mark>span{border:1px solid var(--bronze);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;color:var(--gold)}
.mark div{display:grid}
.mark small{font-size:.6rem;color:var(--bronze)}
nav{display:flex;gap:1.2rem}
nav a{color:var(--muted);text-decoration:none;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.hero{min-height:690px;display:grid;grid-template-columns:1.4fr .6fr;align-items:end;padding:clamp(2rem,7vw,7rem);position:relative;background:linear-gradient(90deg,#080a0af0 0%,#080a0aa8 42%,#080a0a2e 75%),linear-gradient(0deg,#080a0a 0%,transparent 35%),url('/earthward-foundry-works.png') center/cover}
.hero-copy{max-width:760px;padding-bottom:4rem}
.overline{color:var(--bronze);font-size:.68rem;letter-spacing:.22em;font-weight:700}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3.2rem,7vw,7rem);line-height:.88;margin:.35em 0}
.hero h1 em{color:var(--gold);font-weight:400}
.lede{max-width:620px;color:#c8c0b4;font-size:1.08rem;line-height:1.7}
.hero-actions{display:flex;gap:1.5rem;align-items:center;margin-top:2rem}
.hero-actions a{background:var(--bronze);padding:.9rem 1.2rem;color:#100d09;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.hero-actions span{color:var(--muted);font-size:.75rem}
.hero-actions i{display:inline-block;width:7px;height:7px;background:#80c990;border-radius:50%;box-shadow:0 0 12px #80c990}
.maxim{border-left:1px solid #9c7b5080;padding:1.5rem;display:grid;gap:.75rem;color:#d8b781;font-family:Georgia,serif;font-size:.9rem;letter-spacing:.08em;margin-bottom:5rem}
.marquee{border-block:1px solid #3b3022;display:flex;justify-content:space-around;gap:1rem;padding:1.2rem;overflow:hidden;color:#8f7656;font-size:.68rem;letter-spacing:.24em}
.charter{padding:clamp(3rem,7vw,7rem);display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;gap:clamp(2rem,7vw,8rem);border-bottom:1px solid #332c22}
.charter h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4.5vw,5rem);font-weight:400;line-height:.98;margin:.3em 0}
.charter h2 em{color:var(--gold);font-weight:400}
.charter-head>p:last-child{max-width:520px;color:var(--muted);line-height:1.7}
.covenant{list-style:none;padding:0;margin:0;counter-reset:covenant;border-top:1px solid var(--line)}
.covenant li{counter-increment:covenant;display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);color:#c9c0b3;line-height:1.55}
.covenant li:before{content:"0" counter(covenant);color:var(--bronze);font-family:Georgia,serif}
.institution{padding:clamp(3rem,7vw,7rem);display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:#332c22}
.institution-copy{background:#0e1010;padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}
.institution h2{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:400;line-height:.94;margin:.25em 0}
.institution-copy>p:last-child{color:var(--muted);line-height:1.75;max-width:560px}
.institution figure{margin:0;background:#0e1010;position:relative;overflow:hidden;min-height:330px}
.institution-primary{grid-row:span 2}
.institution img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.04);transition:transform .8s ease}
.institution figure:hover img{transform:scale(1.015)}
.institution figcaption{position:absolute;left:1rem;bottom:1rem;padding:.5rem .65rem;background:#080a0ad9;color:var(--gold);font-size:.58rem;letter-spacing:.16em}
.works{padding:clamp(2rem,6vw,6rem)}
.works-head{display:flex;justify-content:space-between;gap:2rem;align-items:end}
.works h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);margin:.15rem 0}
.works-head>p{max-width:480px;color:var(--muted);line-height:1.6;border-left:2px solid var(--bronze);padding-left:1rem}
.houses{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:#332c22;margin:2rem 0}
.house{background:#101212;padding:1rem;min-height:110px}
.house b{color:var(--gold);font-size:.68rem;letter-spacing:.12em}
.house p{color:#8f8a80;font-size:.72rem;line-height:1.45}
.filters{display:flex;gap:1rem;margin:2rem 0}
.filters{align-items:end}
.result-count{margin:0 0 .7rem auto;color:var(--muted);font-size:.72rem;letter-spacing:.08em}
.filters label{display:grid;gap:.3rem;color:#8c7a62;font-size:.65rem;letter-spacing:.12em}
.filters select,.filters input{min-width:250px;background:#0e1010;color:var(--paper);border:1px solid #40382d;padding:.75rem}
.cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1px;background:#332c22;border:1px solid #332c22}
.notice{grid-column:1/-1;margin:0;background:#101212;padding:2rem;color:var(--muted)}
.notice.error{color:#e0a38f}
.cell{background:linear-gradient(145deg,#171818,#0d0f0f);padding:1.2rem;min-height:310px;position:relative}
.cell:after{content:attr(data-index);position:absolute;right:1rem;top:1rem;color:#5a4a35;font-family:Georgia,serif}
.cell .house-tag{font-size:.62rem;letter-spacing:.16em;color:var(--bronze)}
.cell h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;margin:.8rem 2rem .7rem 0}
.cell .assigned{font-size:.72rem;color:#81796f}
.cell .focus{font-size:.84rem;line-height:1.55;color:#c4baac}
.cell .output{font-size:.72rem;border-left:2px solid var(--bronze);padding-left:.7rem;color:#aa9982}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:1rem}
.stages span{border:1px solid #3b342a;padding:.4rem .2rem;text-align:center;color:#9b8567;font-size:.55rem}
.cell footer{position:absolute;bottom:1rem;left:1.2rem;right:1.2rem;display:flex;justify-content:space-between;color:#796b58;font-size:.6rem;letter-spacing:.09em}
body>footer{display:flex;justify-content:space-between;padding:2rem clamp(1rem,6vw,6rem);border-top:1px solid #332c22;color:#8f7c62;font-size:.65rem;letter-spacing:.12em}
a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:620px}
.charter{grid-template-columns:1fr}
.institution{grid-template-columns:1fr 1fr}.institution-copy{grid-column:1/-1}.institution-primary{grid-row:auto}
.maxim{display:none}
.houses{grid-template-columns:repeat(2,1fr)}
.works-head{display:block}
}
@media(max-width:600px){header nav{display:none}
.institution{grid-template-columns:1fr;padding:2rem}.institution-copy{grid-column:auto}.institution figure{min-height:260px}.result-count{margin:0}
.hero{padding:2rem;background-position:62% center}
.hero-copy{padding-bottom:2rem}
.hero-actions{align-items:flex-start;flex-direction:column}
.filters{display:grid}
.filters select,.filters input{min-width:0;width:100%}
.houses{grid-template-columns:1fr 1fr}
body>footer{display:grid;gap:1rem}
}
