:root{--bg:#F4F2EA;--bg-d:#E9E4D2;--ink:#1A1D17;--ink-s:#36392E;--green:#3F5A3A;--green-d:#2C422A;--crema:#D4A874;--muted:#7A7E70;--line:#CDC8B6}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
::selection{background:var(--green);color:var(--bg)}
.demo-banner{background:var(--ink);color:var(--bg);padding:0.65rem 1rem;font-size:0.78rem;text-align:center;letter-spacing:0.05em}
.demo-banner strong{color:var(--crema)}
.demo-banner a{color:var(--bg);text-decoration:underline;text-decoration-color:var(--crema)}
.masthead{padding:1.25rem 2.5rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:2rem;position:sticky;top:0;background:var(--bg);z-index:9}
.brand{display:flex;align-items:center;gap:0.75rem}
.brand .bean{width:12px;height:12px;background:var(--crema);border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;transform:rotate(25deg);box-shadow:inset -3px -1px 0 rgba(0,0,0,0.25)}
.brand-name{font-family:'Fraktur',serif;font-weight:500;font-size:1.15rem;letter-spacing:-0.005em}
.brand-name a{color:inherit}
.brand-sub{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--muted);margin-top:2px;font-weight:500}
.masthead nav{display:flex;gap:1.75rem;font-size:0.82rem;font-weight:500}
.masthead nav a{padding-bottom:2px;border-bottom:1.5px solid transparent;transition:all 0.2s}
.masthead nav a.active,.masthead nav a:hover{border-bottom-color:var(--crema);color:var(--green-d)}
main{flex:1}
footer{padding:1.75rem 2.5rem;background:var(--bg-d);border-top:1px solid var(--line);font-size:0.78rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem}
footer .orn{color:var(--crema);font-size:1.1rem}
footer a:hover{color:var(--green-d)}
@media(max-width:780px){.masthead{flex-direction:column;gap:0.75rem;padding:1rem 1.25rem}.masthead nav{flex-wrap:wrap;gap:1rem}footer{padding:1.25rem;justify-content:center;text-align:center}}
