:root{
  --bg:#F8F4F1;
  --bg-s:#EFE7E2;
  --paper:#FCFAF8;
  --plum:#5C2E47;
  --plum-d:#3F1A30;
  --rose:#C99090;
  --rose-d:#A86C6C;
  --ink:#2A1A22;
  --ink-s:#4A3640;
  --line:#E2D4D0;
  --muted:#8C7A80;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.demo-banner{background:var(--plum-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(252,250,248,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:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:1.95rem;letter-spacing:-0.005em;color:var(--plum-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(--plum)}
nav a.active{color:var(--plum-d);font-weight:500}
nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--rose-d)}
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:'Cormorant Garamond',serif;font-style:italic;color:var(--rose-d);font-size:1.15rem}
footer a{border-bottom:1px solid var(--line)}
footer a:hover{color:var(--plum-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}}
