*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#F9F8F6;
  --ink:#1A1A1A;
  --muted:#6C6863;
  --gold:#D4AF37;
  --border:rgba(26,26,26,0.12);
  --border-s:rgba(26,26,26,0.20);
  --max-w:1200px;
  --text-w:720px;
  --gh-font-heading:var(--font-heading,'Playfair Display',serif);
  --gh-font-body:var(--font-body,'Inter',sans-serif);
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:17px;
  line-height:1.625;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
}

/* ── PAPER NOISE ── */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.022;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
}


/* ── HEADER ── */
header{
  border-bottom:1px solid var(--border-s);
  position:sticky;top:0;
  background:var(--bg);
  z-index:100;
}
.hdr{
  max-width:var(--max-w);margin:0 auto;padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;gap:24px;
}
.logo{
  font-family:'Playfair Display',serif;font-weight:700;font-size:1.5rem;
  color:var(--ink);text-decoration:none;white-space:nowrap;
  letter-spacing:-.02em;cursor:pointer;font-style:italic;
}
.logo span{
  font-style:normal;font-weight:300;font-size:.55rem;
  letter-spacing:.08em;text-transform:none;
  color:var(--muted);display:block;margin-top:0;
}
nav{display:flex;align-items:center;flex:1;justify-content:center;gap:4px;}

/* Nav tabs */
.nt{
  background:none;border:none;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;
  color:var(--muted);padding:10px 22px;
  letter-spacing:.22em;text-transform:uppercase;
  position:relative;transition:color 700ms ease-out;
  text-decoration:none;display:inline-block;
}
.nt::after{
  content:'';position:absolute;bottom:0;left:22px;right:22px;
  height:1px;background:var(--gold);
  transform:scaleX(0);
  transition:transform 700ms cubic-bezier(.25,.46,.45,.94);
  transform-origin:left;
}
.nt:hover{color:var(--ink);}
.nt:hover::after{transform:scaleX(.5);}
.nt.active{color:var(--ink);font-weight:600;}
.nt.active::after{transform:scaleX(1);}

/* Gold slide button */
.gsb{
  background:var(--ink);color:var(--bg);border:1px solid var(--ink);
  padding:10px 24px;font-family:'Inter',sans-serif;font-size:.68rem;
  font-weight:600;cursor:pointer;white-space:nowrap;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;display:inline-block;
  position:relative;overflow:hidden;transition:color 500ms ease-out;
  border-radius:0;
}
.gsb::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateX(-100%);
  transition:transform 500ms cubic-bezier(.25,.46,.45,.94);
}
.gsb:hover{color:var(--ink);}
.gsb:hover::before{transform:translateX(0);}
.gsb span,.gsb-login span,.btn-back span,.al span{position:relative;z-index:1;}

/* Login button */
.gsb-login{
  background:transparent;color:var(--ink);border:1px solid var(--border-s);
  padding:10px 24px;font-family:'Inter',sans-serif;font-size:.68rem;
  font-weight:600;cursor:pointer;white-space:nowrap;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;display:inline-block;
  position:relative;overflow:hidden;transition:color 500ms ease-out;
  border-radius:0;
}
.gsb-login::before{
  content:'';position:absolute;inset:0;background:var(--ink);
  transform:translateX(-100%);
  transition:transform 500ms cubic-bezier(.25,.46,.45,.94);
}
.gsb-login:hover{color:var(--bg);}
.gsb-login:hover::before{transform:translateX(0);}

/* ── MAIN ── */
main{min-height:calc(100vh - 72px - 80px);position:relative;z-index:2;}
.tp{display:none;} .tp.active{display:block;}

/* Label with decorative line */
.lbl{
  font-family:'Inter',sans-serif;font-size:.65rem;font-weight:600;
  letter-spacing:.25em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:12px;margin-bottom:8px;
}
.lbl::before{content:'';display:block;width:32px;height:1px;background:var(--muted);flex-shrink:0;}

/* ── NEWSLETTER HERO (ASYMMETRIC) ── */
.hero{
  max-width:var(--max-w);margin:0 auto;padding:48px 40px 140px;
  display:grid;grid-template-columns:1fr 450px;gap:28px;align-items:end;
}
.hero-iss{
  font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  color:var(--muted);margin-bottom:20px;
  display:flex;align-items:center;gap:14px;
}
.hero-iss::before{content:'';display:block;width:32px;height:1px;background:var(--muted);}
.hero-h{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.2rem,7vw,5.5rem);font-weight:900;
  line-height:.92;letter-spacing:-.03em;margin-bottom:16px;color:var(--ink);
}
.hero-h em{font-style:italic;color:var(--gold);}
.hero-tagline{font-size:1.15rem;line-height:1.6;color:var(--ink);max-width:480px;font-weight:400;margin-bottom:36px;}
.hero-divider{width:40px;height:3px;background:var(--ink);margin-bottom:32px;}
.hero-body{font-size:.95rem;line-height:1.75;color:var(--muted);max-width:480px;font-weight:300;margin-bottom:10px;}
.hero-body-s{font-size:.85rem;line-height:1.7;color:var(--muted);max-width:480px;font-weight:300;font-style:italic;margin-bottom:36px;}
.hero-btn{
  background:none;border:1px solid var(--ink);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;padding:14px 28px;
  color:var(--ink);transition:all 300ms ease;
}
.hero-btn:hover{background:var(--ink);color:var(--bg);}
.hero-aside-lbl{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.hero-recent{list-style:none;padding:0;margin:0;}
.hero-recent li{
  padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;
  transition:color 300ms ease;
}
.hero-recent li:last-child{border-bottom:none;}
.hero-recent li:hover .hr-title{color:var(--gold);}
.hero-recent .hr-thumb{
  width:64px;height:46px;object-fit:cover;border-radius:3px;
  background:var(--border);display:block;
}
.hero-recent .hr-tag{
  font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1px;
}
.hero-recent .hr-title{
  font-size:.78rem;font-weight:500;line-height:1.35;transition:color 300ms ease;
}
.hero-recent .hr-date{
  font-size:.6rem;color:var(--muted);margin-top:1px;
}

/* ── COURSE BLOCK (dark) ── */
.hero-course{
  border:1px solid var(--border-s);color:var(--ink);
  padding:24px 24px 20px;margin-top:16px;position:relative;
  display:grid;grid-template-columns:1fr 100px;gap:16px;align-items:center;
}
.hero-course .hc-badge{
  position:absolute;top:-1px;right:-1px;
  background:var(--ink);color:var(--bg);
  font-size:.6rem;font-weight:600;letter-spacing:.14em;
  padding:6px 14px;
}
.hero-course .hc-title{
  font-family:'Playfair Display',serif;
  font-size:.88rem;font-weight:700;line-height:1.35;color:var(--ink);margin-bottom:8px;
  white-space:nowrap;
}
.hero-course .hc-meta{
  font-size:.7rem;color:var(--muted);letter-spacing:.04em;margin-bottom:10px;
}
.hero-course .hc-desc{
  font-size:.82rem;color:var(--muted);line-height:1.6;font-weight:300;
}
.hero-course .hc-img{
  width:100px;height:80px;object-fit:cover;border-radius:2px;display:block;
}

/* ── TAG FILTER ── */
.tag-filter{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.tag-btn{
  background:none;border:1px solid var(--border-s);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.65rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;padding:7px 18px;
  color:var(--muted);border-radius:2px;transition:all 300ms ease;
}
.tag-btn:hover{color:var(--ink);border-color:var(--ink);}
.tag-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ── STUDENT AREA ── */
.student-panel{display:none;max-width:var(--max-w);margin:0 auto;padding:0 40px 88px;}
.student-panel.visible{display:block;}
.sp-courses{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap;}
.sp-course-btn{
  background:none;border:1px solid var(--border-s);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.65rem;font-weight:500;
  letter-spacing:.1em;padding:8px 20px;
  color:var(--muted);border-radius:2px;transition:all 300ms ease;
}
.sp-course-btn:hover{color:var(--ink);border-color:var(--ink);}
.sp-course-btn.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.sp-card{
  border:1px solid var(--border);border-radius:4px;overflow:hidden;
  position:relative;cursor:pointer;transition:box-shadow 300ms ease;
}
.sp-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.06);}
.sp-card-img{
  width:100%;height:160px;background:linear-gradient(135deg,#e8e4df,#d5cfc8);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.sp-card-lock{
  position:absolute;inset:0;background:rgba(26,26,26,.45);
  display:flex;align-items:center;justify-content:center;
}
.sp-card-lock svg{color:var(--bg);opacity:.8;}
.sp-card-body{padding:16px 18px;}
.sp-card-tag{
  font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;
}
.sp-card-title{font-size:.88rem;font-weight:600;line-height:1.4;margin-bottom:6px;}
.sp-card-desc{font-size:.78rem;color:var(--muted);line-height:1.55;font-weight:300;}
.sp-card-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-top:10px;font-weight:600;
}
.sp-empty{
  text-align:center;padding:60px 0;color:var(--muted);
  font-size:.9rem;font-weight:300;
}

/* ── TAG FILTERS ── */
.tag-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.tag-filter{
  background:none;border:1px solid var(--border-s);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;
  color:var(--muted);padding:6px 16px;
  letter-spacing:.08em;transition:all 300ms ease;
}
.tag-filter:hover{color:var(--ink);border-color:var(--ink);}
.tag-filter.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ── CARD SECTION ── */
.cs{max-width:var(--max-w);margin:0 auto;padding:72px 40px 88px;}
.sh{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:48px;padding-bottom:20px;border-bottom:1px solid var(--border);
}
.st{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;}
.sc{font-size:.68rem;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;}

/* Asymmetric 3-col grid */
.cg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:0;}
.cg .card:first-child{grid-row:span 2;border-right:1px solid var(--border);padding-right:48px;}
.cg .card:not(:first-child){padding:0 0 40px 48px;border-bottom:1px solid var(--border);}
.cg .card:nth-child(3),.cg .card:nth-child(5){border-left:1px solid var(--border);}
.cg .card:nth-child(4),.cg .card:nth-child(5){padding-top:40px;}

.card{cursor:pointer;}
.ccw{position:relative;overflow:hidden;margin-bottom:24px;}
.ccw::after{
  content:'';position:absolute;inset:0;background:var(--ink);
  opacity:0;transition:opacity 700ms ease-out;pointer-events:none;
}
.card:hover .ccw::after{opacity:.04;}
.cc{
  width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
  transition:box-shadow 700ms ease-out,
             transform 1500ms cubic-bezier(.25,.46,.45,.94);
}
.card:hover .cc{box-shadow:0 12px 40px rgba(26,26,26,.12);transform:scale(1.01);}
.cph{
  width:100%;aspect-ratio:16/9;background:#EDECEA;
  display:flex;align-items:center;justify-content:center;
  transition:box-shadow 700ms ease-out;
}
.card:hover .cph{box-shadow:0 12px 40px rgba(26,26,26,.12);}

/* Lock icon for paid posts */
.card-lock{position:absolute;top:10px;right:10px;z-index:2;font-size:16px;background:rgba(255,255,255,.85);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;}
.hr-lock{font-size:11px;}
.cph-i{
  font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;
  color:rgba(26,26,26,.08);font-style:italic;letter-spacing:-.04em;
}
.cm{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.ctag{
  font-size:.58rem;font-weight:600;padding:3px 8px;
  letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:var(--bg);
}
.cdate{font-size:.68rem;color:var(--muted);letter-spacing:.06em;}
.ctitle{
  font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;
  line-height:1.35;letter-spacing:-.01em;margin-bottom:10px;
  color:var(--ink);transition:color 700ms ease-out;
}
.cg .card:first-child .ctitle{font-size:1.6rem;line-height:1.25;}
.card:hover .ctitle{color:var(--muted);}
.cex{
  font-size:.85rem;color:var(--muted);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-weight:300;
}
.cg .card:first-child .cex{-webkit-line-clamp:4;}

/* ── ARTICLE VIEW ── */
#av{display:none;position:relative;z-index:2;}
#av.active{display:block;}
.ab{max-width:var(--max-w);margin:0 auto;padding:36px 40px 0;}
.btn-back{
  background:none;border:1px solid var(--border-s);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.65rem;font-weight:600;
  color:var(--muted);padding:10px 18px;display:inline-flex;align-items:center;gap:8px;
  letter-spacing:.18em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color 500ms ease-out;border-radius:0;
}
.btn-back::before{
  content:'';position:absolute;inset:0;background:var(--ink);
  transform:translateX(-100%);transition:transform 500ms cubic-bezier(.25,.46,.45,.94);
}
.btn-back:hover{color:var(--bg);}
.btn-back:hover::before{transform:translateX(0);}

/* Article header */
.ah{
  max-width:var(--max-w);margin:0 auto;padding:56px 40px 0;
  display:grid;grid-template-columns:1fr 260px;gap:80px;align-items:start;
}
.as{
  font-size:.62rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;
  color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:12px;
}
.as::before{content:'';display:block;width:32px;height:1px;background:var(--muted);}
.at{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;
  line-height:1.1;letter-spacing:-.03em;margin-bottom:32px;max-width:780px;
}
.at em{font-style:italic;color:var(--gold);}
.abl{
  display:flex;align-items:center;gap:16px;padding:20px 0;
  border-top:1px solid var(--border);font-size:.85rem;color:var(--muted);
}
.bav{
  width:44px;height:44px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  color:var(--bg);font-family:'Playfair Display',serif;font-size:.9rem;
  font-weight:700;flex-shrink:0;
}
.bn{font-weight:600;color:var(--ink);font-size:.88rem;}
.bd{font-size:.75rem;color:var(--muted);}

/* Article aside */
.aside-box{border:1px solid var(--border);padding:24px;}
.aside-lbl{
  font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border);
}
.aside-item{
  font-size:.8rem;color:var(--ink);padding:6px 0;
  border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;
}
.aside-item:last-child{border-bottom:none;}
.aid{width:4px;height:4px;background:var(--gold);flex-shrink:0;}

/* Article hero image */
.ahw{position:relative;overflow:hidden;margin:48px 0 0;}
.ahi{
  width:100%;max-height:600px;object-fit:cover;display:block;
  filter:grayscale(30%);
  transition:filter 2000ms cubic-bezier(.25,.46,.45,.94);
}
.ahw:hover .ahi{filter:grayscale(0%);}
.ahc{
  position:absolute;bottom:20px;right:24px;
  font-size:.62rem;color:rgba(249,248,246,.8);
  letter-spacing:.15em;text-transform:uppercase;font-weight:500;
}

/* Article body */
.body{max-width:var(--text-w);margin:64px auto 0;padding:0 40px 100px;}

/* Drop cap */
.body>p:first-of-type::first-letter{
  font-family:'Playfair Display',serif;font-size:5.5rem;font-weight:700;
  line-height:.8;float:left;margin-right:12px;margin-top:8px;
  color:var(--ink);letter-spacing:-.04em;
}
.body p{font-size:1.05rem;line-height:1.88;margin-bottom:1.8em;font-weight:300;color:var(--ink);}
.body strong{font-weight:600;}
.body a{
  display:inline-block;text-decoration:none;color:var(--ink);
  border:1px solid var(--border-s);padding:2px 10px;font-size:.92em;
  position:relative;overflow:hidden;transition:color 400ms ease;
  z-index:0;
}
.body a::before{
  content:'';position:absolute;inset:0;background:var(--ink);
  transform:translateX(-100%);transition:transform 400ms cubic-bezier(.25,.46,.45,.94);
  z-index:-1;
}
.body a:hover{color:var(--bg);}
.body a:hover::before{transform:translateX(0);}
.body h1{font-family:var(--gh-font-heading);font-size:2.2rem;font-weight:800;line-height:1.2;margin:2.4em 0 .8em;letter-spacing:-.02em;}
.body h2{font-family:var(--gh-font-heading);font-size:1.6rem;font-weight:700;line-height:1.25;margin:2em 0 .7em;letter-spacing:-.01em;}
.body h3{font-family:var(--gh-font-heading);font-size:1.25rem;font-weight:700;line-height:1.3;margin:1.8em 0 .6em;}
.body h4{font-size:1.05rem;font-weight:600;line-height:1.4;margin:1.6em 0 .5em;}
.body h5{font-size:.95rem;font-weight:600;line-height:1.4;margin:1.4em 0 .4em;color:var(--muted);}
.body h6{font-size:.85rem;font-weight:600;line-height:1.4;margin:1.2em 0 .4em;color:var(--muted);}
.body blockquote{border-left:2px solid var(--gold);padding:4px 0 4px 28px;margin:2.8em 0 1.4em;}
.body blockquote h4{
  font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;
  letter-spacing:-.01em;color:var(--ink);font-style:italic;
}
/* Inline quote */
.iq{
  border-left:1px solid var(--border-s);padding:12px 28px;margin:2.4em 0;
  color:var(--muted);font-style:italic;font-size:1.05rem;line-height:1.75;
  font-family:'Playfair Display',serif;
}
.sd{border:none;border-top:1px solid var(--border);margin:3em 0;}
.bi{
  width:100%;margin:3em 0;display:block;
  filter:grayscale(100%);transition:filter 1500ms cubic-bezier(.25,.46,.45,.94);
}
.bi:hover{filter:grayscale(0%);}

/* Pull quote */
.pq{
  font-family:'Playfair Display',serif;font-size:1.5rem;font-style:italic;
  line-height:1.4;letter-spacing:-.02em;color:var(--ink);
  border-left:3px solid var(--gold);padding:8px 0 8px 32px;
  margin:3em 0 3em -60px;
}

/* Subscribe CTA */
/* ── RELATED POSTS ── */
.related{
  max-width:var(--text-w);margin:0 auto 48px;padding:0 40px;
}
.related-lbl{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:16px;padding-bottom:12px;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;
}
.related-lbl::before{content:'';display:block;width:20px;height:1px;background:var(--muted);}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.related-card{
  cursor:pointer;padding:16px;border:1px solid var(--border);border-radius:4px;
  transition:border-color 300ms ease;
}
.related-card:hover{border-color:var(--ink);}
.related-card .rc-tag{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.related-card .rc-title{font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:4px;}
.related-card .rc-date{font-size:.6rem;color:var(--muted);}

.sub-cta{
  background:var(--ink);color:var(--bg);padding:52px 48px;
  max-width:var(--text-w);margin:0 auto 88px;
  position:relative;overflow:hidden;
}
.sub-cta::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:200px;height:200px;border:40px solid rgba(212,175,55,.06);pointer-events:none;
}
.sub-lbl{
  font-size:.6rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:10px;
}
.sub-lbl::before{content:'';display:block;width:24px;height:1px;background:var(--gold);}
.sub-cta h3{
  font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;
  margin-bottom:12px;line-height:1.2;letter-spacing:-.02em;
}
.sub-cta p{font-size:.9rem;opacity:.55;margin-bottom:32px;font-weight:300;line-height:1.7;}
.sbtn{
  background:transparent;color:var(--bg);
  border:1px solid rgba(249,248,246,.35);
  padding:12px 28px;font-family:'Inter',sans-serif;font-size:.68rem;
  font-weight:600;cursor:pointer;letter-spacing:.2em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color 500ms ease-out;border-radius:0;
}
.sbtn::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateX(-100%);transition:transform 500ms cubic-bezier(.25,.46,.45,.94);
}
.sbtn:hover{color:var(--ink);}
.sbtn:hover::before{transform:translateX(0);}

/* ── EVENTS TAB ── */
.ev-hero{
  max-width:var(--max-w);margin:0 auto;
  padding:88px 40px 64px;border-bottom:1px solid var(--border);
}
.ev-lbl{
  font-size:.62rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;
  color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:12px;
}
.ev-lbl::before{content:'';display:block;width:32px;height:1px;background:var(--muted);}
.ev-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,6vw,5.5rem);font-weight:900;
  line-height:.92;letter-spacing:-.03em;margin-bottom:32px;
}
.ev-hero h1 em{font-style:italic;color:var(--gold);}
.ev-hero p{color:var(--muted);font-size:1rem;font-weight:300;max-width:520px;line-height:1.7;}
.ev-list{max-width:var(--max-w);margin:0 auto;padding:0 40px 100px;}

/* Event item — 3 columns */
.ei{
  display:grid;grid-template-columns:260px 1fr 200px;gap:0;
  border-bottom:1px solid var(--border);cursor:pointer;
  transition:background 700ms ease-out;
}
.ei:hover{background:rgba(26,26,26,.02);}
.eic{padding:48px 40px 48px 0;}
.eimg{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:box-shadow 700ms ease-out;
}
.ei:hover .eimg{box-shadow:0 8px 32px rgba(26,26,26,.1);}
.eph{
  width:100%;aspect-ratio:4/3;background:#EDECEA;
  display:flex;align-items:center;justify-content:center;
  transition:box-shadow 700ms ease-out;
}
.ei:hover .eph{box-shadow:0 8px 32px rgba(26,26,26,.1);}
.ec{
  padding:48px 40px;border-left:1px solid var(--border);border-right:1px solid var(--border);
  display:flex;flex-direction:column;justify-content:center;
}
.etag{
  font-size:.58rem;font-weight:600;padding:3px 8px;
  letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:var(--bg);
  display:inline-block;width:fit-content;margin-bottom:16px;
}
.etitle{
  font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;
  letter-spacing:-.02em;line-height:1.25;margin-bottom:12px;
  transition:color 700ms ease-out;
}
.ei:hover .etitle{color:var(--muted);}
.emeta{font-size:.78rem;color:var(--muted);margin-bottom:14px;letter-spacing:.04em;}
.edesc{
  font-size:.9rem;color:var(--muted);font-weight:300;line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.edc{padding:48px 0 48px 40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;}
.edn{
  font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:700;
  line-height:1;letter-spacing:-.04em;color:var(--ink);opacity:.08;
}
.eds{font-size:.7rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;text-align:right;margin-top:6px;}

/* ── ABOUT TAB ── */
.abt{max-width:var(--max-w);margin:0 auto;padding:88px 40px 100px;}
.abt-top{
  display:grid;grid-template-columns:1fr 380px;gap:100px;align-items:end;
  margin-bottom:88px;padding-bottom:72px;border-bottom:1px solid var(--border-s);
}
.abt-h{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.5rem,7vw,6.5rem);font-weight:900;
  line-height:.9;letter-spacing:-.04em;margin-bottom:36px;
}
.abt-h em{font-style:italic;color:var(--gold);}
.abt-tl{
  font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;
  color:var(--muted);padding-left:24px;border-left:2px solid var(--gold);
  line-height:1.65;margin-bottom:40px;
}
.abt-links{display:flex;gap:12px;flex-wrap:wrap;}
.al{
  border:1px solid var(--border-s);color:var(--muted);font-size:.65rem;
  font-weight:600;padding:10px 18px;text-decoration:none;
  letter-spacing:.18em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color 500ms ease-out;display:inline-block;
}
.al::before{
  content:'';position:absolute;inset:0;background:var(--ink);
  transform:translateX(-100%);transition:transform 500ms cubic-bezier(.25,.46,.45,.94);
}
.al:hover{color:var(--bg);}
.al:hover::before{transform:translateX(0);}
.al-line{border-color:var(--ink);}
.al-line:hover{color:var(--bg);}
.aav{
  width:100px;height:100px;
  border-radius:4px;overflow:hidden;
  margin-bottom:20px;
}
.aav img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.aname{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:6px;}
.aroles{font-size:.78rem;color:var(--muted);letter-spacing:.08em;line-height:1.8;margin-bottom:24px;}
.astats{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);}
.astat{padding:20px 22px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.astat:nth-child(2n){border-right:none;}
.astat:nth-last-child(-n+2){border-bottom:none;}
.astat-n{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;line-height:1;letter-spacing:-.03em;margin-bottom:4px;}
.astat-l{font-size:.62rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.asecs{display:grid;grid-template-columns:1fr 1fr;gap:72px 80px;}
.asecs-2col{grid-template-columns:1fr 1fr;gap:48px 80px;margin-bottom:72px;}

/* ── CONSULTING ── */
.abt-consult{padding-top:72px;border-top:1px solid var(--border-s);}
.abt-consult-h{
  font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;
  letter-spacing:-.02em;margin-bottom:12px;
}
.abt-consult-h em{font-style:italic;}
.abt-consult-line{width:40px;height:3px;background:var(--ink);margin-bottom:20px;}
.abt-consult-desc{
  font-size:.95rem;line-height:1.75;color:var(--muted);font-weight:300;
  max-width:600px;margin-bottom:32px;
}
.abt-consult-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--border);}
.abt-consult-card{padding:24px;border-right:1px solid var(--border);}
.abt-consult-card:last-child{border-right:none;}
.acc-lbl{
  font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;
}
.abt-consult-card p{
  font-size:.85rem;line-height:1.7;color:var(--ink);font-weight:400;margin:0;
}
.asec-hdr{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.asec-line{width:28px;height:1px;background:var(--ink);flex-shrink:0;}
.asec h2{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;font-style:italic;}
.asec p{font-size:.95rem;line-height:1.85;color:var(--ink);font-weight:300;margin-bottom:.9em;}
.asec p:last-child{margin-bottom:0;}

/* ── FOOTER ── */
footer{background:var(--ink);color:rgba(249,248,246,.55);padding:60px 40px;position:relative;z-index:2;}
.fi{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start;}
.flogo{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;font-style:italic;color:var(--bg);margin-bottom:12px;}
.ftag{font-size:.78rem;line-height:1.7;opacity:.55;font-weight:300;max-width:280px;color:rgba(249,248,246,.7);}
.flbl{
  font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(212,175,55,.8);margin-bottom:16px;display:flex;align-items:center;gap:8px;
}
.flbl::before{content:'';display:block;width:16px;height:1px;background:rgba(212,175,55,.8);}
.flinks{display:flex;flex-direction:column;gap:8px;}
.fl{font-size:.78rem;color:rgba(249,248,246,.65);text-decoration:none;letter-spacing:.04em;transition:color 700ms ease-out;cursor:pointer;}
.fl:hover{color:var(--bg);}
.fb{max-width:var(--max-w);margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(249,248,246,.08);display:flex;justify-content:space-between;align-items:center;}
.fc{font-size:.68rem;color:rgba(249,248,246,.5);letter-spacing:.1em;}
.f-socials{display:flex;align-items:center;gap:12px;}
.f-socials a{color:rgba(249,248,246,.4);transition:color 400ms ease;display:flex;}
.f-socials a:hover{color:var(--bg);}
.fsc{font-size:.68rem;color:rgba(212,175,55,.7);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color 700ms ease-out;}
.fsc:hover{color:var(--gold);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .7s cubic-bezier(.25,.46,.45,.94) forwards;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hdr{padding:0 20px;}
  .hero{grid-template-columns:1fr;padding:40px 20px 0;}
  .hero>div:last-child{padding-top:40px;}
  .cs{padding:48px 20px 64px;}
  .cg{grid-template-columns:1fr 1fr;}
  .cg .card:first-child{grid-row:span 1;grid-column:span 2;border-right:none;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:40px;}
  .cg .card:not(:first-child){padding:24px 0;border-left:none;}
  .cg .card:nth-child(3),.cg .card:nth-child(5){border-left:none;}
  .ev-hero{padding:56px 20px 48px;} .ev-list{padding:0 20px 64px;}
  .ei{grid-template-columns:1fr;} .eic{padding:32px 0 0;}
  .ec{padding:20px 0;border-left:none;border-right:none;} .edc{display:none;}
  .abt{padding:56px 20px 72px;} .abt-top{grid-template-columns:1fr;gap:48px;}
  .asecs{grid-template-columns:1fr;gap:48px;}
  .asecs-2col{grid-template-columns:1fr;}
  .abt-consult-grid{grid-template-columns:1fr;}
  .ah{grid-template-columns:1fr;padding:40px 20px 0;} .ah>div:last-child{display:none;}
  .ab{padding:24px 20px 0;}
  .body{padding:0 20px 72px;} .pq{margin-left:0;}
  .sub-cta{margin:0 20px 72px;padding:36px 28px;}
  .fi{grid-template-columns:1fr;gap:32px;} .fb{flex-direction:column;gap:12px;}
}
@media(max-width:640px){
  .hdr{flex-wrap:wrap;height:auto;padding:12px 20px;gap:6px;justify-content:center;}
  .logo{width:100%;text-align:center;}
  .logo span{display:none;}
  .gsb,.gsb-login{padding:6px 12px;font-size:.58rem;letter-spacing:.12em;order:2;}
  nav{order:3;width:100%;justify-content:center;padding:6px 0 0;gap:0;
    overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;
    border-top:1px solid var(--border);}
  .nt{padding:8px 12px;font-size:.6rem;letter-spacing:.1em;flex-shrink:0;}
  .hero-h{font-size:2.8rem;}
  .cg{grid-template-columns:1fr;}
  .cg .card:first-child{grid-column:span 1;}
  .abt-h{font-size:3rem;}
  .ev-hero h1{font-size:2.8rem;}
}

/* ── GHOST KOENIG EDITOR ── */
.kg-width-wide{max-width:var(--max-w);margin-left:auto;margin-right:auto;}
.kg-width-full{max-width:none;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;}
.kg-width-wide img,.kg-width-full img{width:100%;height:auto;}
.kg-image-card img{max-width:100%;height:auto;}
.kg-bookmark-card,.kg-gallery-card,.kg-video-card,.kg-audio-card{margin:1.5em 0;}

/* ── LIST ── */
ol,ul{padding-left:1.5em;margin:1em 0;}
li{margin-bottom:.4em;line-height:1.7;}
li::marker{color:var(--muted);}

/* ── TABLE ── */
table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95em;}
table th,table td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);}
table th{font-weight:600;color:var(--ink);border-bottom:2px solid var(--border-s);white-space:nowrap;}
table td{color:var(--ink);}
table tr:last-child td{border-bottom:none;}

/* ── HR SPACING ── */
hr{margin:2em 0;border:none;border-top:1px solid var(--border-s);}

/* ── TOOLS PAGE ── */
.tools{max-width:var(--max-w);margin:0 auto;padding:88px 40px 100px;}
.tools-top{
  display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end;
  margin-bottom:72px;padding-bottom:56px;border-bottom:1px solid var(--border-s);
}
.tools-h{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.5rem,7vw,6.5rem);font-weight:900;
  line-height:.9;letter-spacing:-.04em;margin-bottom:28px;
}
.tools-h em{font-style:italic;color:var(--gold);}
.tools-tl{
  font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;
  color:var(--muted);padding-left:24px;border-left:2px solid var(--gold);
  line-height:1.65;
}
.tools-count{text-align:right;}
.tools-count-n{
  font-family:'Playfair Display',serif;font-size:4rem;font-weight:700;
  line-height:1;letter-spacing:-.04em;color:var(--ink);opacity:.08;
}
.tools-count-l{
  font-size:.62rem;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:4px;
}

/* Tools grid */
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);}
.tools-card{
  padding:36px 32px;border-right:1px solid var(--border);
  text-decoration:none;color:var(--ink);display:block;
  position:relative;overflow:hidden;transition:background 400ms ease;
}
.tools-card:nth-child(3n){border-right:none;}
.tools-card:hover{background:rgba(26,26,26,.02);}
.tools-card-icon{
  color:var(--muted);margin-bottom:20px;
  transition:color 400ms ease;
}
.tools-card:hover .tools-card-icon{color:var(--gold);}
.tools-card-lbl{
  font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px;
}
.tools-card-title{
  font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;
  letter-spacing:-.01em;margin-bottom:12px;line-height:1.35;
}
.tools-card-desc{
  font-size:.85rem;color:var(--muted);line-height:1.7;font-weight:300;margin-bottom:16px;
}
.tools-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
.tools-tag{
  font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--border);padding:3px 10px;
}
.tools-card-open{
  font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);opacity:0;transform:translateY(6px);
  transition:all 400ms ease;
}
.tools-card:hover .tools-card-open{opacity:1;transform:translateY(0);}

/* Tool overlay (iframe fullscreen) */
.tools-overlay{
  position:fixed;inset:0;z-index:9998;background:var(--bg);
  display:none;flex-direction:column;
}
.tools-overlay.active{display:flex;}
.tools-overlay-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:52px;border-bottom:1px solid var(--border-s);
  background:var(--bg);flex-shrink:0;
}
.tools-overlay-back{
  background:none;border:1px solid var(--border-s);cursor:pointer;
  font-family:'Inter',sans-serif;font-size:.65rem;font-weight:600;
  color:var(--muted);padding:8px 16px;
  letter-spacing:.14em;text-transform:uppercase;
  transition:all 300ms ease;
}
.tools-overlay-back:hover{color:var(--ink);border-color:var(--ink);}
.tools-overlay-nav{
  display:flex;align-items:center;gap:4px;
}
.tools-overlay-nav a{
  font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;padding:8px 14px;
  transition:color 300ms ease;
}
.tools-overlay-nav a:hover{color:var(--ink);}
.tools-iframe{flex:1;width:100%;border:none;}

/* Tools responsive */
@media(max-width:900px){
  .tools{padding:56px 20px 72px;}
  .tools-top{grid-template-columns:1fr;gap:32px;}
  .tools-count{text-align:left;}
  .tools-grid{grid-template-columns:1fr 1fr;}
  .tools-card:nth-child(2n){border-right:none;}
  .tools-card:nth-child(3n){border-right:1px solid var(--border);}
  .tools-overlay-nav a{font-size:.55rem;padding:8px 8px;letter-spacing:.08em;}
}
@media(max-width:640px){
  .tools-overlay-bar{flex-wrap:wrap;height:auto;padding:8px 16px;gap:4px;}
  .tools-overlay-nav{width:100%;justify-content:center;overflow-x:auto;flex-wrap:nowrap;
    border-top:1px solid var(--border);padding-top:6px;}
  .tools-overlay-nav a{flex-shrink:0;font-size:.52rem;padding:6px 8px;}
  .tools-h{font-size:3rem;}
  .tools-grid{grid-template-columns:1fr;}
  .tools-card{border-right:none !important;border-bottom:1px solid var(--border);}
  .tools-card:last-child{border-bottom:none;}
  .tools-card-open{opacity:1;transform:translateY(0);}
}
