:root{
  --bg:#F7F4EE;
  --bg-s:#EEE9DC;
  --paper:#FDFBF5;
  --aegean:#2B6978;
  --aegean-d:#194957;
  --olive:#6B7A3E;
  --olive-d:#4F5C29;
  --ink:#1E2A2E;
  --ink-s:#3A4950;
  --line:#D4CCB8;
  --muted:#7F7862;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter Tight',sans-serif;background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.demo-banner{background:var(--aegean-d);color:var(--paper);padding:0.6rem 1.25rem;font-size:0.78rem;text-align:center;letter-spacing:0.02em}
.demo-banner a{border-bottom:1px solid rgba(253,251,245,0.5)}
.masthead{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;border-bottom:1px solid var(--line);background:var(--paper)}
.brand-name a{font-family:'EB Garamond',serif;font-weight:500;font-size:1.85rem;letter-spacing:-0.01em;color:var(--aegean-d)}
.brand-name a em{font-style:italic;color:var(--olive-d)}
.brand-sub{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--muted);margin-top:0.2rem;font-weight:500}
nav{display:flex;gap:2rem;font-size:0.88rem}
nav a{position:relative;padding-bottom:2px;color:var(--ink-s);transition:color 0.2s}
nav a:hover{color:var(--aegean)}
nav a.active{color:var(--aegean-d);font-weight:600}
nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--aegean)}
footer{background:var(--paper);border-top:1px solid var(--line);padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:0.82rem;color:var(--muted)}
footer .orn{font-family:'EB Garamond',serif;font-style:italic;color:var(--aegean);font-size:1.1rem}
footer a{border-bottom:1px solid var(--line)}
footer a:hover{color:var(--aegean-d)}
@media(max-width:680px){.masthead{padding:1rem 1.25rem;flex-direction:column;gap:1rem;align-items:flex-start}nav{gap:1.25rem;font-size:0.85rem}footer{padding:1.5rem 1.25rem;flex-direction:column;text-align:center}}
