/* ASK-Y Prism — Main Stylesheet */
:root {
  --bg:        #FFFFFF;
  --surface:   #F8FAFC;
  --surface-2: #EFF4FA;
  --border:    rgba(14,165,233,0.22);
  --border-s:  rgba(0,0,0,0.08);
  --accent:    #0284C7;
  --glow:      #0EA5E9;
  --violet:    #6366F1;
  --grad:      linear-gradient(135deg,#0284C7 0%,#6366F1 100%);
  --text:      #0F172A;
  --text-2:    #475569;
  --text-3:    #94A3B8;
  --display:   'Plus Jakarta Sans',sans-serif;
  --body:      'DM Sans',sans-serif;
  --r:         16px;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  line-height:1.6;
  overflow-x:hidden;
}

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 5%; height:68px;
  background:rgba(248,250,252,0.92);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(15,23,42,0.07);
  box-shadow:0 1px 0 rgba(15,23,42,0.04), 0 4px 24px rgba(15,23,42,0.03);
  transition:background .3s, box-shadow .3s;
}
.nav-logo {
  display:flex; align-items:center; gap:9px;
  text-decoration:none;
  font-family:var(--display); font-weight:700; font-size:1.15rem;
  color:var(--text); letter-spacing:-.02em;
}
.nav-links {
  display:flex; gap:2px; list-style:none;
  background:rgba(15,23,42,0.05);
  border-radius:100px; padding:4px;
}
.nav-links a {
  display:block; padding:6px 15px; border-radius:100px;
  color:rgba(15,23,42,0.6); text-decoration:none;
  font-size:.875rem; font-weight:500;
  letter-spacing:-.01em; white-space:nowrap;
  transition:color .18s, background .18s;
}
.nav-links a:hover {
  color:var(--text);
  background:rgba(255,255,255,0.85);
  box-shadow:0 1px 4px rgba(15,23,42,0.08);
}
.nav-right { display:flex; gap:8px; align-items:center; justify-content:flex-end; }

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 20px; border-radius:8px;
  font-family:var(--body); font-size:.875rem; font-weight:500;
  text-decoration:none; cursor:pointer; border:none;
  transition:opacity .2s, transform .15s;
}
.btn:hover { opacity:.9; transform:translateY(-1px); }
.btn-primary { background:var(--grad); color:#fff; }
.btn-ghost {
  background:transparent; color:var(--text-2);
  border:1px solid rgba(0,0,0,0.13);
}
.btn-ghost:hover {
  color:var(--text);
  border-color:rgba(2,132,199,.4);
  background:rgba(2,132,199,.05);
}
.btn-lg { padding:14px 28px; font-size:.95rem; }

/* ─── HERO ─── */
.hero {
  min-height:100vh;
  padding:130px 6% 90px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero-glow-1 {
  position:absolute; top:-180px; left:-140px;
  width:680px; height:680px; pointer-events:none;
  background:radial-gradient(circle, rgba(2,132,199,.08) 0%, transparent 68%);
  animation:drift1 9s ease-in-out infinite alternate;
}
.hero-glow-2 {
  position:absolute; bottom:-100px; right:-80px;
  width:560px; height:560px; pointer-events:none;
  background:radial-gradient(circle, rgba(99,102,241,.07) 0%, transparent 68%);
  animation:drift2 11s ease-in-out infinite alternate;
}
.hero-dots {
  position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(2,132,199,.18) 1px, transparent 1px);
  background-size:38px 38px;
  opacity:.3;
}
@keyframes drift1 { to { transform:translate(110px,70px) scale(1.15); } }
@keyframes drift2 { to { transform:translate(-70px,-55px) scale(1.12); } }

.hero-content { position:relative; z-index:2; animation:fadeUp .8s ease both; }

.badge {
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(2,132,199,.07); border:1px solid rgba(2,132,199,.2);
  border-radius:100px; padding:6px 15px;
  font-size:.78rem; font-weight:500; color:var(--glow);
  margin-bottom:28px;
}
.badge-dot {
  width:6px; height:6px; border-radius:50%; background:var(--accent);
  animation:blink 2s infinite;
}
@keyframes blink {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.35; transform:scale(.75); }
}

.hero h1 {
  font-family:var(--display);
  font-size:clamp(2.6rem,5vw,4.1rem);
  font-weight:800; line-height:1.15;
  letter-spacing:-.03em; margin-bottom:24px;
  padding-top:4px; padding-bottom:0.15em;
}
.grad-text {
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  padding-bottom:0.5em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.hero p {
  font-size:1.08rem; line-height:1.72; color:var(--text-2);
  font-weight:300; margin-bottom:40px; max-width:470px;
}
.hero-cta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

.proof {
  margin-top:52px; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.avatars { display:flex; }
.av {
  width:30px; height:30px; border-radius:50%;
  border:2px solid var(--bg); margin-left:-7px;
  display:flex; align-items:center; justify-content:center;
  font-size:.62rem; font-weight:600; color:#fff;
  background:var(--grad);
}
.av:first-child { margin-left:0; }
.proof-text { font-size:.78rem; color:var(--text-2); }
.proof-text strong { color:var(--text); }

/* ─── DEMO CARD ─── */
.hero-visual { position:relative; z-index:2; animation:fadeUp .8s .2s ease both; }
.demo-card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.1);
  border-radius:var(--r); overflow:hidden;
  box-shadow:0 24px 80px rgba(2,132,199,.12), 0 4px 24px rgba(0,0,0,.08);
}
.demo-bar {
  background:#F1F5F9; border-bottom:1px solid rgba(0,0,0,0.07);
  padding:11px 15px; display:flex; align-items:center; gap:7px;
}
.dd { width:10px; height:10px; border-radius:50%; }
.dd-r { background:#FF5F57; } .dd-y { background:#FFBD2E; } .dd-g { background:#28C840; }
.demo-bar span { margin-left:10px; font-size:.72rem; color:var(--text-3); font-family:monospace; }
.demo-input {
  margin:6px 18px 16px;
  background:#F8FAFC; border:1px solid rgba(0,0,0,0.08);
  border-radius:9px; padding:9px 13px;
  display:flex; align-items:center; gap:8px;
}
.demo-input span { flex:1; font-size:.78rem; color:var(--text-3); }
.send-btn {
  width:22px; height:22px; border-radius:5px;
  background:var(--grad); display:flex; align-items:center; justify-content:center;
}

/* ─── SHARED SECTIONS ─── */
section { padding:100px 6%; position:relative; }

.label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent); margin-bottom:14px;
}
.label::before { content:''; width:18px; height:1px; background:var(--accent); }

h2.st {
  font-family:var(--display);
  font-size:clamp(1.85rem,3.5vw,2.8rem);
  font-weight:700; letter-spacing:-.03em; line-height:1.18;
  margin-bottom:14px; color:var(--text); padding-bottom:0.1em;
}
.sub {
  font-size:1rem; color:var(--text-2); font-weight:300; line-height:1.7;
  max-width:540px;
}
.sh { text-align:center; margin-bottom:60px; }
.sh .sub { margin:0 auto; }

/* ─── FEATURES ─── */
.features-bg { background:#F8FAFC; }
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(270px,1fr));
  gap:22px;
}
.card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:var(--r); padding:30px;
  position:relative; overflow:hidden;
  transition:border-color .3s, transform .3s, box-shadow .3s;
  color:var(--text); text-decoration:none; display:block;
}
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--grad); opacity:0; transition:opacity .3s;
}
.card:hover {
  border-color:rgba(2,132,199,.25);
  transform:translateY(-5px);
  box-shadow:0 20px 50px rgba(2,132,199,.1), 0 4px 16px rgba(0,0,0,.06);
}
.card:hover::before { opacity:1; }
.card-icon {
  width:46px; height:46px; border-radius:11px;
  background:rgba(14,165,233,.09); border:1px solid rgba(14,165,233,.14);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:18px;
}
.card h3 {
  font-family:var(--display); font-size:1.05rem; font-weight:600;
  margin-bottom:9px; color:var(--text); letter-spacing:-.01em;
}
.card p { font-size:.855rem; color:var(--text-2); line-height:1.66; }
.card ul {
  list-style:none; margin-top:14px;
  display:flex; flex-direction:column; gap:5px;
}
.card ul li {
  font-size:.78rem; color:var(--text-3);
  display:flex; align-items:center; gap:8px;
}
.card ul li::before {
  content:''; width:4px; height:4px;
  border-radius:50%; background:var(--accent); flex-shrink:0;
}
.card-accent {
  background:linear-gradient(135deg,rgba(2,132,199,.05),rgba(99,102,241,.05));
  border-color:rgba(2,132,199,.2);
}
.card-accent h3 {
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.card-img {
  width:100%; border-radius:8px; margin-bottom:18px; display:block;
}

/* ─── HOW IT WORKS ─── */
.steps {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:40px; position:relative; margin-top:56px;
}
.steps::before {
  content:''; position:absolute; top:27px;
  left:calc(16.67% + 22px); right:calc(16.67% + 22px);
  height:1px;
  background:linear-gradient(90deg,var(--accent),var(--violet));
  opacity:.2;
}
.step {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:18px;
}
.step-n {
  width:54px; height:54px; border-radius:50%;
  background:#fff; border:2px solid rgba(2,132,199,.25);
  box-shadow:0 4px 16px rgba(2,132,199,.1);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:1.15rem; font-weight:700;
  color:var(--accent); position:relative; z-index:1;
}
.step-n::after {
  content:''; position:absolute; inset:-5px; border-radius:50%;
  background:radial-gradient(circle, rgba(14,165,233,.1), transparent 70%);
}
.step h3 {
  font-family:var(--display); font-size:1.05rem;
  font-weight:600; color:var(--text); letter-spacing:-.01em;
}
.step p { font-size:.855rem; color:var(--text-2); line-height:1.7; max-width:250px; }

/* ─── INTEGRATIONS ─── */
.ints-bg { background:var(--surface); padding:80px 6%; }

.ints-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px; margin-top:52px;
  max-width:1100px; margin-left:auto; margin-right:auto;
}
.ints-card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:16px;
  padding:28px;
  display:flex; flex-direction:column; gap:14px;
  position:relative; overflow:hidden;
  transition:box-shadow .25s, border-color .25s;
}
.ints-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--grad);
  border-radius:16px 16px 0 0;
}
.ints-card:hover {
  border-color:rgba(2,132,199,.25);
  box-shadow:0 8px 32px rgba(2,132,199,.1);
}
.ints-card-top {
  display:flex; align-items:center; gap:12px;
}
.ints-card-icon {
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  background:linear-gradient(135deg,rgba(2,132,199,.1),rgba(99,102,241,.12));
  display:flex; align-items:center; justify-content:center;
  color:var(--accent);
}
.ints-card h3 {
  font-family:var(--display); font-size:1.05rem;
  font-weight:700; color:var(--text); margin:0;
}
.ints-card > p {
  font-size:.875rem; color:var(--text-2); line-height:1.65; margin:0;
  flex-grow:1;
}
.ints-card-footer { margin-top:4px; }
.ints-powered-label {
  font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--text-3); display:block; margin-bottom:8px;
}
.ints-pills { display:flex; flex-wrap:wrap; gap:6px; }
.ints-pills span {
  background:rgba(15,23,42,.04);
  border:1px solid rgba(15,23,42,.09);
  border-radius:100px; padding:4px 11px;
  font-size:.75rem; font-weight:500; color:var(--text-2);
}
@media (max-width:860px) {
  .ints-cards { grid-template-columns:1fr; }
}

/* ─── CTA ─── */
.cta {
  text-align:center; padding:120px 6%;
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#F0F7FF 0%,#F5F3FF 100%);
}
.cta::before {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(2,132,199,.06) 0%, transparent 70%);
  pointer-events:none;
}
.cta h2 { max-width:700px; margin:0 auto 20px; }
.cta .sub { margin:0 auto 44px; }
.cta-bullets {
  list-style:none; max-width:480px; margin:0 auto 40px;
  display:flex; flex-direction:column; gap:11px; text-align:left;
}
.cta-bullets li {
  font-size:.9rem; color:var(--text-2); padding-left:22px; position:relative;
  line-height:1.55;
}
.cta-bullets li::before {
  content:''; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%;
  background:var(--grad);
}
.cta-form {
  display:flex; max-width:420px; margin:0 auto; gap:10px;
}
.cta-input {
  flex:1; background:#fff; border:1px solid rgba(0,0,0,0.12);
  border-radius:9px; padding:12px 15px;
  color:var(--text); font-family:var(--body); font-size:.9rem;
  outline:none; transition:border-color .2s;
}
.cta-input::placeholder { color:var(--text-3); }
.cta-input:focus { border-color:var(--accent); }
.cta-note { margin-top:14px; font-size:.73rem; color:var(--text-3); }

/* ─── WAITLIST MODAL ─── */
.wl-overlay {
  position:fixed; inset:0; z-index:9999;
  background:rgba(15,23,42,.55); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  padding:20px; opacity:0; pointer-events:none;
  transition:opacity .25s;
}
.wl-overlay.open { opacity:1; pointer-events:all; }
.wl-modal {
  background:#fff; border-radius:16px;
  padding:36px 32px; width:100%; max-width:520px;
  position:relative; max-height:90vh; overflow-y:auto;
  transform:translateY(12px); transition:transform .25s;
  box-shadow:0 24px 80px rgba(0,0,0,.18);
}
.wl-overlay.open .wl-modal { transform:translateY(0); }
.wl-close {
  position:absolute; top:14px; right:16px;
  background:none; border:none; font-size:1.4rem; color:var(--text-3);
  cursor:pointer; line-height:1; padding:4px 8px;
}
.wl-close:hover { color:var(--text); }
.wl-modal h2 {
  font-family:var(--display); font-size:1.2rem; font-weight:700;
  color:var(--text); margin:0 0 8px; padding-right:24px;
}
.wl-sub { font-size:.9rem; color:var(--text-2); margin-bottom:10px; }
.wl-note {
  font-size:.75rem; color:var(--text-3); line-height:1.5;
  background:rgba(15,23,42,.03); border-radius:8px;
  padding:10px 12px; margin-bottom:20px;
}
.wl-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wl-field { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.wl-field label {
  font-size:.78rem; font-weight:600; color:var(--text-2);
}
.wl-opt { font-weight:400; color:var(--text-3); }
.wl-field input {
  border:1px solid rgba(0,0,0,0.14); border-radius:8px;
  padding:10px 12px; font-family:var(--body); font-size:.875rem;
  color:var(--text); outline:none; transition:border-color .2s;
  background:#fff;
}
.wl-field input:focus { border-color:var(--accent); }
.wl-field input::placeholder { color:var(--text-3); }
.wl-legal {
  font-size:.78rem; color:var(--text-2); margin:4px 0 10px; line-height:1.55;
}
.wl-checkbox {
  display:flex; gap:10px; align-items:flex-start;
  font-size:.78rem; color:var(--text-2); line-height:1.55;
  margin-bottom:16px; cursor:pointer;
}
.wl-checkbox input { flex-shrink:0; margin-top:2px; accent-color:var(--accent); }
.wl-checkbox a { color:var(--accent); }
@media (max-width:500px) {
  .wl-row { grid-template-columns:1fr; }
  .wl-modal { padding:28px 20px; }
}

/* ─── MAILING LIST ─── */
.mailing-list-section {
  background:#fff; border-top:1px solid rgba(0,0,0,0.07);
  padding:80px 6%;
}
.mailing-list-inner {
  max-width:960px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.mailing-list-copy p {
  font-size:.9rem; color:var(--text-2); line-height:1.7; margin:0;
}
.mailing-list-form-wrap { display:flex; align-items:center; }
.mailing-list-form-wrap .cta-form { max-width:none; margin:0; width:100%; }
@media (max-width:768px) {
  .mailing-list-inner { grid-template-columns:1fr; gap:32px; }
}

/* ─── FOOTER ─── */
footer {
  background:#F8FAFC;
  border-top:1px solid rgba(0,0,0,0.07);
  padding:56px 6% 36px;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr;
  gap:56px; margin-bottom:44px;
}
.footer-brand p {
  font-size:.855rem; color:var(--text-2);
  margin-top:12px; max-width:270px; line-height:1.65;
}
.footer-col h4 {
  font-family:var(--display); font-size:.76rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:14px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col a {
  font-size:.855rem; color:var(--text-2);
  text-decoration:none; transition:color .2s;
}
.footer-col a:hover { color:var(--text); }
.footer-bottom {
  border-top:1px solid var(--border-s); padding-top:22px;
  display:flex; align-items:center; justify-content:space-between;
  font-size:.78rem; color:var(--text-3);
}

/* ─── SCROLL REVEAL ─── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to { opacity:1; transform:translateY(0); }
}
.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:translateY(0); }

/* ─── BLOG / ARCHIVE ─── */
.blog-hero {
  padding:140px 6% 60px;
  background:var(--surface);
  border-bottom:1px solid var(--border-s);
  text-align:center;
}
.blog-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
  gap:28px;
  padding:64px 6%;
}
.post-card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:var(--r);
  overflow:hidden;
  text-decoration:none; color:var(--text);
  transition:transform .3s, box-shadow .3s, border-color .3s;
  display:block;
}
.post-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(2,132,199,.1), 0 4px 16px rgba(0,0,0,.06);
  border-color:rgba(2,132,199,.25);
}
.post-card-img {
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block;
}
.post-card-img-placeholder {
  width:100%; aspect-ratio:16/9;
  background:linear-gradient(135deg,rgba(2,132,199,.08),rgba(99,102,241,.08));
  display:flex; align-items:center; justify-content:center;
  font-size:2.5rem;
}
.post-card-body { padding:22px; }
.post-meta {
  font-size:.7rem; color:var(--text-3);
  text-transform:uppercase; letter-spacing:.08em;
  margin-bottom:8px;
}
.post-card-body h3 {
  font-family:var(--display); font-size:1rem; font-weight:600;
  line-height:1.4; margin-bottom:9px; color:var(--text);
  letter-spacing:-.01em;
}
.post-card-body p {
  font-size:.83rem; color:var(--text-2); line-height:1.6;
}
.post-card-cat {
  display:inline-block; margin-top:12px;
  font-size:.68rem; font-weight:600; letter-spacing:.07em;
  text-transform:uppercase; color:var(--accent);
  background:rgba(2,132,199,.07); border-radius:4px;
  padding:3px 8px;
}

/* ─── SINGLE POST ─── */
.single-hero {
  padding:130px 6% 56px;
  background:var(--surface);
  border-bottom:1px solid var(--border-s);
  text-align:center;
}
.single-hero h1 {
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:700; letter-spacing:-.03em; line-height:1.15;
  max-width:820px; margin:0 auto 28px; color:var(--text);
}
.single-byline {
  display:flex; align-items:center; justify-content:center;
  gap:12px; margin-bottom:24px;
}
.single-author-av {
  width:40px; height:40px; min-width:40px; border-radius:50%;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:.85rem; font-weight:700; color:#fff;
}
.single-byline-info { text-align:left; line-height:1.35; }
.single-byline-info strong { font-size:.9rem; color:var(--text); display:block; }
.single-byline-info span { font-size:.78rem; color:var(--text-3); }
.single-excerpt {
  font-size:1.05rem; color:var(--text-2); line-height:1.72;
  max-width:680px; margin:0 auto; font-weight:300;
}

/* Featured image — contained, not full-bleed */
.single-feat-wrap {
  max-width:1100px; margin:0 auto;
  padding:0 6% 0;
  overflow:hidden;
}
.single-feat-img {
  width:100%; max-height:480px; object-fit:cover; display:block;
  border-radius:var(--r);
}

/* Two-column layout */
.single-layout {
  display:grid;
  grid-template-columns:1fr 300px;
  gap:60px;
  max-width:1200px;
  margin:0 auto;
  padding:64px 6%;
  align-items:start;
}
.single-article {
  font-size:1.02rem; line-height:1.82; color:var(--text-2);
  min-width:0;
}
.single-article h2, .single-article h3 {
  font-family:var(--display); color:var(--text);
  font-weight:700; letter-spacing:-.02em; margin:36px 0 14px;
}
.single-article h2 { font-size:1.5rem; }
.single-article h3 { font-size:1.15rem; }
.single-article p { margin-bottom:20px; }
.single-article a { color:var(--accent); }
.single-article ul, .single-article ol { padding-left:24px; margin-bottom:20px; }
.single-article li { margin-bottom:6px; }
.single-article blockquote {
  border-left:3px solid var(--accent);
  padding:14px 20px; margin:24px 0;
  background:rgba(2,132,199,.04);
  border-radius:0 8px 8px 0;
  font-style:italic;
}

/* ─── STATIC PAGES (Privacy Policy, Terms of Service, etc.) ─── */
.page-hero { padding-bottom:30px; }
.page-updated {
  font-size:.85rem; color:var(--text-3);
  margin:-10px auto 0; letter-spacing:.01em;
}
.page-wrap {
  max-width:880px; margin:0 auto;
  padding:56px 40px 90px;
}
.page-legal { font-size:1.02rem; line-height:1.75; }
.page-legal > :first-child { margin-top:0; }
.page-legal h2 {
  font-size:1.35rem; margin-top:46px; padding-top:22px;
  border-top:1px solid var(--border-s);
}
.page-legal h3 { font-size:1.08rem; margin-top:28px; }
.page-legal h2:first-child, .page-legal h3:first-child { margin-top:0; padding-top:0; border-top:0; }
.page-legal ul, .page-legal ol { margin-bottom:18px; }
.page-legal a { text-decoration:underline; text-underline-offset:2px; }
.page-legal table { width:100%; border-collapse:collapse; margin:20px 0; font-size:.95rem; }
.page-legal th, .page-legal td { border:1px solid var(--border-s); padding:9px 12px; text-align:left; vertical-align:top; }
.page-legal th { background:var(--surface); font-weight:600; }
@media (max-width:600px){ .page-wrap { padding:40px 5% 64px; } }

/* Sticky sidebar */
.single-sidebar {
  display:flex; flex-direction:column; gap:24px;
  position:sticky; top:90px;
}
.sidebar-widget {
  background:var(--surface);
  border:1px solid var(--border-s);
  border-radius:var(--r);
  padding:22px;
  display:flex; flex-direction:column; gap:6px;
}
.sidebar-author-av {
  width:48px; height:48px; border-radius:50%;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:1rem; font-weight:700; color:#fff;
  margin-bottom:4px;
}
.sidebar-widget strong { font-family:var(--display); font-size:.95rem; color:var(--text); }
.sidebar-widget > span { font-size:.8rem; color:var(--text-3); }
.sidebar-heading {
  font-family:var(--display); font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:10px;
}
.sidebar-cat-link {
  display:inline-flex; align-items:center;
  font-size:.85rem; font-weight:500; color:var(--accent);
  text-decoration:none;
  background:rgba(2,132,199,.07); border-radius:6px;
  padding:5px 12px; transition:background .2s;
}
.sidebar-cat-link:hover { background:rgba(2,132,199,.14); }
.sidebar-related { display:flex; flex-direction:column; gap:0; }
.sidebar-related-item {
  display:flex; flex-direction:column; gap:3px;
  text-decoration:none; color:var(--text);
  font-size:.85rem; font-weight:500; line-height:1.4;
  padding:10px 0; border-bottom:1px solid var(--border-s);
  transition:color .2s;
}
.sidebar-related-item:first-child { padding-top:0; }
.sidebar-related-item:last-child { border-bottom:none; padding-bottom:0; }
.sidebar-related-item:hover { color:var(--accent); }
.sidebar-related-date { font-size:.73rem; color:var(--text-3); font-weight:400; }
.sidebar-cta {
  text-align:center;
  background:linear-gradient(135deg,rgba(2,132,199,.05),rgba(99,102,241,.05));
  border-color:rgba(2,132,199,.18);
}
.sidebar-cta-icon { font-size:1.8rem; margin-bottom:4px; }
.sidebar-cta p { font-size:.83rem; color:var(--text-2); line-height:1.55; margin-top:4px; }

.posts-nav {
  display:flex; justify-content:space-between; gap:20px;
  max-width:900px; margin:0 auto 60px;
  padding:0 6%;
}
.posts-nav a {
  flex:1; padding:16px 20px; border-radius:var(--r);
  border:1px solid var(--border-s); text-decoration:none;
  color:var(--text-2); font-size:.85rem;
  transition:border-color .2s, color .2s;
}
.posts-nav a:hover { border-color:var(--accent); color:var(--text); }
.posts-nav a span { display:block; font-family:var(--display); font-weight:600; color:var(--text); margin-top:4px; font-size:.95rem; }

/* ─── PAGINATION ─── */
.pagination {
  display:flex; justify-content:center; gap:8px;
  padding:20px 6% 60px;
}
.pagination a, .pagination span {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:8px;
  font-size:.85rem; text-decoration:none;
  border:1px solid var(--border-s); color:var(--text-2);
  transition:all .2s;
}
.pagination a:hover { border-color:var(--accent); color:var(--accent); }
.pagination .current {
  background:var(--grad); color:#fff; border-color:transparent;
}

/* ─── 404 ─── */
.page-404 {
  min-height:80vh; display:flex; align-items:center; justify-content:center;
  flex-direction:column; text-align:center; padding:100px 6%;
  gap:18px;
}
.page-404 .big-num {
  font-family:var(--display); font-size:clamp(5rem,15vw,10rem);
  font-weight:800; letter-spacing:-.05em; line-height:1;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.page-404 h2 { font-family:var(--display); font-size:1.6rem; font-weight:700; }
.page-404 p { color:var(--text-2); max-width:400px; }

/* ─── PODCAST SINGLE ─── */
.pod-hero {
  padding:130px 6% 48px;
  background:var(--surface);
  border-bottom:1px solid var(--border-s);
  text-align:center;
}
.pod-hero .ep-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(2,132,199,.08); border:1px solid rgba(2,132,199,.2);
  color:var(--accent); padding:5px 14px; border-radius:99px;
  font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:18px;
}
.pod-hero-title {
  max-width:820px; margin:0 auto 16px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.pod-title-guest {
  font-family:var(--display); font-size:clamp(1.3rem,2.4vw,2rem);
  font-weight:800; letter-spacing:-.03em; line-height:1.2; color:var(--text);
  padding-bottom:0.1em;
}
.pod-title-on {
  font-size:.72rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--text-3);
}
.pod-title-topic {
  font-family:var(--display); font-size:clamp(.95rem,1.6vw,1.3rem);
  font-weight:600; letter-spacing:-.01em; line-height:1.4; color:var(--text-2);
}
.pod-hero-meta {
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-size:.82rem; color:var(--text-3);
}
.pod-embed-wrap {
  max-width:960px; margin:0 auto; padding:40px 6% 0;
}
.pod-embed {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  border-radius:var(--r); border:1px solid var(--border-s);
  box-shadow:0 16px 48px rgba(0,0,0,.08);
}
.pod-embed iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
}
.pod-listen {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:12px;
  max-width:960px; margin:24px auto 0; padding:0 6%;
}
.listen-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:99px;
  font-size:.82rem; font-weight:600; text-decoration:none;
  border:1px solid transparent; transition:all .2s; line-height:1;
}
.listen-spotify  { background:#1DB954; color:#fff; }
.listen-spotify:hover { background:#17a34a; }
.listen-apple    { background:#fc3c44; color:#fff; }
.listen-apple:hover { background:#e0353c; }
.listen-download {
  background:var(--surface); border-color:var(--border-s); color:var(--text-2);
}
.listen-download:hover { border-color:var(--accent); color:var(--accent); }

/* Episode sections */
.pod-section {
  margin-bottom:44px; padding-top:8px;
  border-top:1px solid var(--border-s);
}
.pod-section:first-child { border-top:none; padding-top:0; }
.pod-section-title {
  font-family:var(--display); font-size:1.1rem; font-weight:700;
  letter-spacing:-.02em; margin-bottom:16px; color:var(--text);
}
.pod-takeaways ul { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pod-takeaways li {
  display:flex; align-items:flex-start; gap:10px;
  padding:12px 16px; background:rgba(2,132,199,.05);
  border-left:3px solid var(--accent); border-radius:0 8px 8px 0;
  font-size:.93rem; color:var(--text-2); line-height:1.55;
}
.pod-takeaways li::before { content:'→'; color:var(--accent); font-weight:700; flex-shrink:0; margin-top:1px; }
.pod-chapters ol { padding-left:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.pod-chapters li {
  display:flex; gap:14px; padding:8px 12px; border-radius:8px;
  font-size:.88rem; color:var(--text-2); transition:background .2s;
}
.pod-chapters li:hover { background:var(--surface); }
.pod-chapters strong { color:var(--accent); font-variant-numeric:tabular-nums; min-width:42px; }
.pod-resources h6 { font-family:var(--display); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); margin:20px 0 8px; }
.pod-resources h6:first-child { margin-top:0; }
.pod-resources ul { padding-left:20px; display:flex; flex-direction:column; gap:4px; }
.pod-resources li { font-size:.88rem; color:var(--text-2); line-height:1.5; }
.pod-resources a { color:var(--accent); }
.pod-people { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:700px) { .pod-people { grid-template-columns:1fr; } }
.pod-person {
  padding:18px; background:var(--surface);
  border:1px solid var(--border-s); border-radius:var(--r);
}
.pod-person-role {
  display:inline-block; font-size:.65rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--accent); margin-bottom:6px;
}
.pod-person h6 { font-family:var(--display); font-size:1rem; font-weight:700; margin-bottom:8px; }
.pod-person ul { padding-left:16px; display:flex; flex-direction:column; gap:3px; }
.pod-person li { font-size:.82rem; color:var(--text-2); }
.pod-person a { color:var(--accent); }
.pod-credits-section {
  background:var(--surface); border-radius:var(--r); padding:16px 20px;
  font-size:.85rem; color:var(--text-2); line-height:1.7;
}
.pod-credits-section strong { color:var(--text); }
.pod-transcript { border:1px solid var(--border-s); border-radius:var(--r); overflow:hidden; }
.pod-transcript summary {
  padding:14px 20px; cursor:pointer; background:var(--surface);
  display:flex; align-items:center; justify-content:space-between;
  list-style:none; user-select:none;
}
.pod-transcript summary::-webkit-details-marker { display:none; }
.pod-transcript[open] summary { border-bottom:1px solid var(--border-s); }
.pod-transcript-toggle::before { content:'↓'; font-size:.9rem; color:var(--text-3); }
.pod-transcript[open] .pod-transcript-toggle::before { content:'↑'; }
.transcript-body { padding:24px 20px; max-height:480px; overflow-y:auto; }
.transcript-body p { font-size:.88rem; color:var(--text-2); line-height:1.75; margin-bottom:14px; }
.transcript-body br { display:none; }

/* Sidebar episode number */
.ep-n {
  font-family:var(--display); font-size:.72rem; font-weight:700;
  color:var(--accent); margin-right:2px;
}

/* ─── PODCAST LATEST FEATURE ─── */
.pod-archive-hero { padding-bottom:48px; }
.pod-latest-wrap {
  background:var(--surface);
  border-top:1px solid var(--border-s);
  border-bottom:1px solid var(--border-s);
  padding:56px 6%;
}
.pod-latest {
  max-width:960px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.pod-latest-img-wrap {
  position:relative; display:block; border-radius:12px; overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,.12);
}
.pod-latest-img-wrap img { width:100%; display:block; }
.pod-latest-img-placeholder {
  aspect-ratio:16/9; background:linear-gradient(135deg,rgba(2,132,199,.12),rgba(99,102,241,.12));
  display:flex; align-items:center; justify-content:center; font-size:3rem;
}
.pod-ep-badge-lg {
  font-size:1rem; padding:6px 14px; border-radius:8px;
}
.pod-latest-title {
  font-family:var(--display); font-size:1.35rem; font-weight:700;
  line-height:1.3; margin-bottom:12px;
}
.pod-latest-title a { color:var(--text); text-decoration:none; }
.pod-latest-title a:hover { color:var(--sky); }
.pod-latest-guest { font-size:.85rem; color:var(--text-3); margin-bottom:14px; }
.pod-latest-guest strong { color:var(--text-2); }
.pod-latest-excerpt { font-size:.9rem; color:var(--text-2); line-height:1.7; margin-bottom:24px; }
.pod-latest-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
@media(max-width:720px) {
  .pod-latest { grid-template-columns:1fr; }
}

/* ─── PODCAST ARCHIVE ─── */
.pod-archive-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:28px; padding:0 6% 48px;
}
.pod-archive-card {
  display:flex; flex-direction:column;
  text-decoration:none; color:var(--text);
  background:#fff; border:1px solid var(--border-s);
  border-radius:var(--r); overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.pod-archive-card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 56px rgba(2,132,199,.1);
  border-color:rgba(2,132,199,.25);
}
.pod-archive-thumb {
  position:relative; aspect-ratio:16/9; overflow:hidden;
  background:linear-gradient(135deg,rgba(2,132,199,.1),rgba(99,102,241,.1));
}
.pod-archive-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.pod-archive-card:hover .pod-archive-thumb img { transform:scale(1.04); }
.pod-thumb-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:3rem; }
.pod-ep-badge {
  position:absolute; top:10px; left:10px;
  background:rgba(2,132,199,.85); backdrop-filter:blur(8px);
  color:#fff; font-family:var(--display); font-size:.75rem; font-weight:700;
  padding:3px 10px; border-radius:99px;
}
.pod-archive-body { padding:20px; flex:1; display:flex; flex-direction:column; gap:8px; }
.pod-archive-body h2 { font-family:var(--display); font-size:.95rem; font-weight:700; line-height:1.4; }
.pod-archive-excerpt { font-size:.82rem; color:var(--text-3); line-height:1.55; flex:1; }
.pod-archive-link { font-size:.78rem; font-weight:600; color:var(--accent); margin-top:auto; }

/* ─── PODCAST CARDS ─── */
.podcast-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
}
.podcast-card {
  display:block; text-decoration:none; color:var(--text);
  background:#fff; border:1px solid var(--border-s);
  border-radius:var(--r); overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.podcast-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(2,132,199,.1);
  border-color:rgba(2,132,199,.25);
}
.podcast-card img { width:100%; display:block; }
.podcast-card-body { padding:18px; }
.ep-meta { font-size:.7rem; color:var(--text-3); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.podcast-card-body h3 { font-size:.95rem; font-family:var(--display); font-weight:600; line-height:1.4; }

/* ─── MOBILE NAV ─── */
.nav-burger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:36px; background:none; border:none; cursor:pointer; padding:4px;
}
.nav-burger span {
  display:block; height:2px; background:var(--text); border-radius:2px;
  transition:transform .25s, opacity .25s;
}
.nav-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.nav-mobile {
  display:none; flex-direction:column; gap:0;
  position:fixed; top:64px; left:0; right:0; z-index:999;
  background:rgba(255,255,255,.98); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border-s);
  padding:16px 6% 24px;
  transform:translateY(-12px); opacity:0;
  transition:transform .25s, opacity .25s;
  pointer-events:none;
}
.nav-mobile.open {
  display:flex; transform:translateY(0); opacity:1; pointer-events:all;
}
.nav-mobile a {
  font-size:1rem; color:var(--text-2); text-decoration:none;
  padding:12px 0; border-bottom:1px solid var(--border-s);
  transition:color .15s;
}
.nav-mobile a:last-child { border-bottom:none; }
.nav-mobile a:hover { color:var(--text); }
.nav-mobile-cta {
  display:block; margin-top:16px;
  background:var(--grad); color:#fff !important;
  text-align:center; padding:13px 20px !important;
  border-radius:8px; font-weight:600 !important;
  border-bottom:none !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) {
  .single-layout { grid-template-columns:1fr; }
  .single-sidebar { position:static; }
}
@media (max-width:920px) {
  .hero { grid-template-columns:1fr; padding-top:100px; }
  .hero-visual { display:none; }
  .steps { grid-template-columns:1fr; }
  .steps::before { display:none; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  nav { grid-template-columns:1fr auto; }
  .nav-links, .nav-right { display:none; }
  .nav-burger { display:flex; justify-self:end; }
  .cta-form { flex-direction:column; }
  .posts-nav { flex-direction:column; }
  .pod-latest { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  section { padding:64px 5%; }
  .grid, .blog-grid, .podcast-grid { grid-template-columns:1fr; }
  .single-layout { padding:40px 5%; gap:36px; }
}
