:root{--sea: #1a3a52;--sea-deep: #122a3d;--sea-light: #2a5670;--wine: #8b3a4a;--wine-deep: #6e2d3a;--wine-soft: #c47884;--foam: #faf6ef;--foam-warm: #fff9f0;--foam-dim: #efe6d6;--ink: #2a2622;--muted: #6a5f55;--brass: #c9a06a;--brass-bright: #dbb57a;--line: rgba(139, 58, 74, .18);--max: 720px;--wide: 1080px;--font-display: "Fraunces", "Palatino Linotype", Palatino, serif;--font-body: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-ui: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:1.125rem;line-height:1.7;color:var(--ink);background:radial-gradient(ellipse 90% 50% at 100% 0%,rgba(201,160,106,.12),transparent 50%),radial-gradient(ellipse 70% 40% at 0% 30%,rgba(139,58,74,.06),transparent 45%),linear-gradient(180deg,var(--foam-warm) 0%,var(--foam) 40%,#f3ebe0 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--wine);text-underline-offset:.15em}a:hover{color:var(--wine-deep)}.wrap{width:min(100% - 2.5rem,var(--wide));margin-inline:auto}.wrap-narrow{width:min(100% - 2.5rem,var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:#faf6efe0;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.95rem 0}.brand{font-family:var(--font-display);font-size:1.35rem;font-weight:500;letter-spacing:.01em;color:var(--sea);text-decoration:none}.brand:hover{color:var(--wine);text-decoration:none}.brand span{display:block;font-family:var(--font-ui);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--wine-soft);margin-top:.15rem}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-family:var(--font-ui);font-size:.9rem}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--wine)}.site-footer{margin-top:5rem;padding:2.75rem 0 3rem;background:linear-gradient(165deg,var(--sea) 0%,var(--sea-deep) 55%,#1e2f3f 100%);color:var(--foam-dim);font-family:var(--font-ui);font-size:.95rem}.site-footer .brand{color:var(--foam)}.site-footer .brand span,.site-footer a{color:var(--brass-bright)}.site-footer .inner{display:grid;gap:1.25rem}.site-footer .note{max-width:36rem;line-height:1.55;color:#faf6efc7}.hero{position:relative;background:radial-gradient(ellipse 70% 80% at 10% 20%,rgba(201,160,106,.35),transparent 55%),radial-gradient(ellipse 60% 70% at 85% 15%,rgba(196,120,132,.4),transparent 50%),radial-gradient(ellipse 80% 60% at 70% 100%,rgba(42,86,112,.55),transparent 55%),linear-gradient(155deg,#1e4a62,#2a5670 35%,#5a3048);color:var(--foam);padding:4.75rem 0 4.25rem;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,249,240,.08) 0%,transparent 40%,rgba(18,42,61,.15) 100%);pointer-events:none}.hero:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;opacity:.65}.hero .wrap{position:relative;z-index:1}.hero-brand{font-family:var(--font-display);font-size:clamp(2.8rem,8vw,4.6rem);font-weight:450;line-height:1.05;letter-spacing:-.02em;margin:0 0 1rem;max-width:12ch;color:#fffaf3;text-shadow:0 1px 24px rgba(26,58,82,.25);animation:rise .9s ease both}.hero-lead{font-size:1.2rem;max-width:38rem;color:#fff9f0eb;margin:0 0 1.75rem;animation:rise .9s ease .1s both}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;animation:rise .9s ease .2s both}.btn{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:.95rem;font-weight:600;padding:.7rem 1.15rem;border-radius:3px;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:var(--brass-bright);color:var(--sea-deep)}.btn-primary:hover{background:#e8c892;color:var(--sea-deep)}.btn-ghost{border:1px solid rgba(255,249,240,.55);color:#fffaf3;background:#fff9f014}.btn-ghost:hover{border-color:var(--brass-bright);color:var(--brass-bright);background:#fff9f01f}.section{padding:3.5rem 0}.section-head{margin-bottom:1.75rem}.section-head h2{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:500;margin:0 0 .5rem;letter-spacing:-.01em;color:var(--sea)}.section-head p{margin:0;color:var(--muted);max-width:40rem;font-family:var(--font-ui);font-size:1rem}.rule{width:3rem;height:3px;background:linear-gradient(90deg,var(--wine),var(--brass));border:0;margin:0 0 1rem;border-radius:2px}.post-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.post-list .post-item{border-top:1px solid var(--line);padding:1.25rem 0;display:grid;gap:.4rem}.post-list .title{font-family:var(--font-display);font-size:1.28rem;font-weight:500;color:var(--ink);text-decoration:none}.post-list .title:hover{color:var(--wine)}.post-list .meta{font-family:var(--font-ui);font-size:.85rem;color:var(--wine-soft);margin:0}.post-list .meta a{color:var(--wine)}.post-list .blurb{font-size:1.02rem;color:var(--muted);max-width:42rem;margin:.15rem 0 0;line-height:1.55}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.collection-card{display:block;padding:1.5rem 1.4rem 1.6rem;background:linear-gradient(160deg,#fffdf8,#fff6ec);border:1px solid rgba(201,160,106,.35);box-shadow:0 1px #fffc inset;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.collection-card:hover{border-color:var(--wine-soft);transform:translateY(-3px);box-shadow:0 8px 24px #2a3a4614;text-decoration:none}.collection-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin:0 0 .5rem;color:var(--sea)}.collection-card p{margin:0;font-family:var(--font-ui);font-size:.95rem;color:var(--muted);line-height:1.5}.page-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;line-height:1.15;margin:0 0 .75rem;color:var(--sea)}.page-intro{font-family:var(--font-ui);color:var(--muted);max-width:40rem;margin:0 0 2rem}.glossary{margin:0}.glossary-item{padding:1.35rem 0;border-top:1px solid var(--line)}.glossary-item:last-child{border-bottom:1px solid var(--line)}.glossary dt{margin:0 0 .4rem}.glossary-term{font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--sea);text-decoration:none}.glossary-term:hover{color:var(--wine)}.glossary dd{margin:0}.glossary-def{margin:0 0 .5rem;color:var(--ink);max-width:40rem}.glossary-see{font-family:var(--font-ui);font-size:.9rem;color:var(--muted);margin:0;max-width:40rem}.glossary-see a{color:var(--wine-soft)}.glossary-see a:hover{color:var(--wine)}.prose{font-size:1.125rem}.prose>*:first-child{margin-top:0}.prose h2,.prose h3{font-family:var(--font-display);font-weight:500;line-height:1.25;margin-top:2rem;color:var(--sea)}.prose p,.prose li{color:var(--ink)}.prose img,.prose .wds-img{display:block;margin:1.5rem auto;border:1px solid var(--line)}.prose figure,.prose .wds-figure{display:block;margin:1.75rem auto;text-align:center;max-width:100%}.prose figure img,.prose .wds-figure img{display:block;margin:0 auto}.prose figcaption{font-family:var(--font-ui);font-size:.85rem;color:var(--muted);text-align:center;margin-top:.5rem}.prose blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--wine-soft);color:var(--muted)}.post-hero{padding:2.75rem 0 1.5rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.post-hero .meta{font-family:var(--font-ui);font-size:.9rem;color:var(--wine-soft);margin-bottom:.75rem}.archive-banner{font-family:var(--font-ui);font-size:.9rem;background:#c9a06a24;border:1px solid rgba(201,160,106,.35);padding:.85rem 1rem;margin:0 0 2rem;color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 700px){.site-header .inner{flex-direction:column;align-items:flex-start}.hero{padding:3.25rem 0 3rem}}
