/* ── eCef blog — shares the main site's palette & self-hosted fonts ── */

@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url('../fonts/cormorantgaramond-italic-latin-ext.woff2') format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url('../fonts/cormorantgaramond-italic-latin.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/cormorantgaramond-normal-latin-ext.woff2') format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/cormorantgaramond-normal-latin.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/dmsans-normal-latin-ext.woff2') format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/dmsans-normal-latin.woff2') format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --void:#08070A;--depth:#110F14;--surface:#1C1820;--surface-raised:#241F2A;
  --flour:#EFE8D6;--flour-dim:#A89F90;--flour-ghost:#8C8477;
  --gold:#C8882C;--gold-bright:#E2A84C;--gold-dim:#7A5218;
  --ember:#D9582A;--ember-bright:#EC7248;
  --line:#2A2013;
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-sans:'DM Sans',system-ui,-apple-system,sans-serif;
  --r-md:10px;--r-lg:18px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);color:var(--flour);
  font-family:var(--font-sans);font-weight:300;line-height:1.75;
  font-size:1.05rem;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold-bright);text-decoration:none;}
a:hover{color:var(--gold);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px;}

/* ── top bar ── */
.blognav{
  position:sticky;top:0;z-index:50;
  display:flex;justify-content:center;
  padding:0.9rem clamp(1rem,4vw,2.5rem);
  background:rgba(8,7,10,0.82);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  width:100%;max-width:1120px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.blognav a.brand{display:inline-flex;align-items:center;gap:0.6rem;color:var(--flour);}
.blognav .brand img{width:42px;height:42px;}
.blognav .brand span{font-family:var(--font-serif);font-weight:600;font-size:1.85rem;letter-spacing:0.01em;line-height:1;}
.blognav .navcta{
  font-size:0.9rem;font-weight:500;letter-spacing:0.02em;white-space:nowrap;
  padding:0.62rem 1.4rem;border:1px solid var(--gold-dim);border-radius:var(--r-md);
  color:var(--gold-bright);transition:all .3s;
}
.blognav .navcta:hover{background:var(--gold);color:var(--void);border-color:var(--gold);}

/* ── layout ── */
.wrap{max-width:760px;margin:0 auto;padding:0 clamp(1.1rem,5vw,1.5rem);}
.eyebrow{
  font-size:0.72rem;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);display:block;
}
.crumbs{font-size:0.8rem;color:var(--flour-ghost);margin:2rem 0 0;}
.crumbs a{color:var(--flour-dim);}

/* ── article hero ── */
.post-hero{
  position:relative;margin-top:1.4rem;border-radius:var(--r-lg);overflow:hidden;
  min-height:300px;display:flex;align-items:flex-end;
  background:linear-gradient(160deg,#1A0E06,#2E1A0C 45%,#6A3A1E 78%,#3A1C0A);
}
.post-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.55;}
.post-hero .ph-inner{position:relative;padding:clamp(1.4rem,5vw,2.6rem);
  background:linear-gradient(0deg,rgba(8,7,10,0.92),rgba(8,7,10,0.15));width:100%;}
h1{
  font-family:var(--font-serif);font-weight:600;line-height:1.06;
  font-size:clamp(1.9rem,5.2vw,3rem);color:var(--flour);margin:0.5rem 0 0;
  letter-spacing:-0.01em;
}
.post-meta{font-size:0.82rem;color:var(--flour-dim);margin-top:1.1rem;}
.post-meta span{color:var(--gold-bright);}
/* Latin words inside Greek serif headings render smaller than the Greek glyphs;
   nudge them up so they sit in proportion instead of looking "foreign". */
h1 .lat,h2 .lat{font-size:1.1em;letter-spacing:0.006em;}

/* ── article body ── */
article.post{padding:2.4rem 0 1rem;}
article.post p{margin:0 0 1.3rem;color:#DED7C6;}
article.post h2{
  font-family:var(--font-serif);font-weight:600;
  font-size:clamp(1.5rem,4vw,2.05rem);color:var(--flour);
  margin:2.8rem 0 1rem;line-height:1.15;
}
article.post h3{
  font-family:var(--font-sans);font-weight:600;font-size:1.15rem;
  color:var(--gold-bright);margin:2rem 0 0.7rem;
}
article.post ul,article.post ol{margin:0 0 1.4rem 1.2rem;color:#DED7C6;}
article.post li{margin-bottom:0.6rem;}
article.post strong{color:var(--flour);font-weight:600;}
article.post em{font-style:italic;color:var(--gold-bright);}
.lead{font-size:1.18rem;line-height:1.7;color:var(--flour)!important;}

blockquote{
  border-left:3px solid var(--gold);padding:0.4rem 0 0.4rem 1.3rem;margin:1.8rem 0;
  font-family:var(--font-serif);font-style:italic;font-size:1.4rem;
  line-height:1.4;color:var(--flour);
}

/* price table */
.ptable{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:0.98rem;}
.ptable th,.ptable td{padding:0.8rem 0.9rem;text-align:left;border-bottom:1px solid var(--line);}
.ptable th{color:var(--gold);font-weight:600;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;}
.ptable td:last-child,.ptable th:last-child{text-align:right;}
.ptable tr:hover td{background:rgba(200,136,44,0.04);}

/* callout / CTA box */
.cta-box{
  margin:2.6rem 0;padding:clamp(1.4rem,4vw,2rem);
  background:var(--depth);border:1px solid var(--line);border-radius:var(--r-lg);
  text-align:center;
}
.cta-box h3{font-family:var(--font-serif);font-weight:600;font-size:1.5rem;color:var(--flour);margin-bottom:0.5rem;}
.cta-box p{color:var(--flour-dim);margin-bottom:1.3rem;}
.btn{
  display:inline-block;padding:0.9rem 1.9rem;border-radius:var(--r-md);
  font-weight:500;letter-spacing:0.02em;transition:all .3s;
  background:var(--gold);color:var(--void);
}
.btn:hover{background:var(--gold-bright);color:var(--void);transform:translateY(-1px);}
.note{
  margin:1.8rem 0;padding:1.1rem 1.3rem;border-radius:var(--r-md);
  background:rgba(217,88,42,0.08);border:1px solid var(--ember-dim,#8A3518);
  font-size:0.96rem;color:#E8DBCF;
}

/* ── hub / listing ── */
.hub-head{text-align:center;padding:3rem 0 1rem;}
.hub-head h1{font-size:clamp(2.2rem,6vw,3.4rem);}
.hub-head p{color:var(--flour-dim);max-width:560px;margin:1rem auto 0;}
.hub-wrap{max-width:1060px;margin:0 auto;padding:0 clamp(1.1rem,5vw,1.5rem);}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.6rem;padding:2.2rem 0 1rem;}
.card{
  display:flex;flex-direction:column;background:var(--depth);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .4s,border-color .3s;
}
.card:hover{transform:translateY(-4px);border-color:var(--gold-dim);}
.card .thumb{position:relative;aspect-ratio:16/10;background:linear-gradient(150deg,#2E1A0C,#6A3A1E,#C8882C);}
.card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.card .cbody{padding:1.3rem 1.4rem 1.6rem;flex:1;display:flex;flex-direction:column;}
.card h2{font-family:var(--font-serif);font-weight:600;font-size:1.4rem;color:var(--flour);margin:0.4rem 0 0.5rem;line-height:1.2;}
.card p{font-size:0.92rem;color:var(--flour-dim);flex:1;}
.card .read{margin-top:1rem;font-size:0.82rem;font-weight:600;letter-spacing:0.04em;color:var(--gold-bright);}

/* ── footer ── */
.blogfoot{
  border-top:1px solid var(--line);margin-top:3rem;
  padding:2.4rem clamp(1rem,4vw,2.5rem);text-align:center;color:var(--flour-ghost);font-size:0.85rem;
}
.blogfoot a{color:var(--gold-bright);}
.blogfoot .fbrand{font-family:var(--font-serif);font-size:1.6rem;color:var(--flour);display:block;margin-bottom:0.4rem;}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto;}}
