@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Manrope', sans-serif;
  background: #FDFEFC;
  color: #1D2939;
  padding: 2rem;
  max-width: 900px;
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
}

/* ── Header ── */
.cv-header { padding: 2rem 0 0; }
.cv-name { font-size: 28px; font-weight: 800; color: #1E085D; line-height: 1.2; margin-bottom: 10px; }
.cv-summary { font-size: 13px; color: #1D2939; max-width: 640px; line-height: 1.75; margin-bottom: 16px; }

/* ── Contact ── */
.cv-contact { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

.contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px 6px 10px;
  border-radius: 8px;
  border: 1.5px solid #DAD2CE;
  background: transparent;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #1E085D;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.4s ease, background 0.4s ease, color 0.4s ease;
}
.contact-btn:hover { border-color: #1E085D; background: #1E085D; color: #FDFEFC; }
.contact-btn:hover svg path,
.contact-btn:hover svg rect,
.contact-btn:hover svg circle { stroke: #FDFEFC !important; }
.contact-btn:hover .fill-icon { fill: #FDFEFC !important; }
.contact-btn:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }

.contact-inner { display: inline-flex; align-items: center; width: var(--w, 56px); position: relative; height: 18px; overflow: hidden; }
.contact-label { position: absolute; left: 0; white-space: nowrap; transition: opacity 0.3s ease; }
.contact-btn:hover .contact-label { opacity: 0; }
.contact-reveal { display: flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500; white-space: nowrap; opacity: 0; transition: opacity 0.3s ease 0.15s; }
.contact-btn:hover .contact-reveal { opacity: 1; }
.reveal-icon { flex-shrink: 0; opacity: 0.7; }

.contact-btn--cta { border-color: #4705D0; color: #4705D0; font-weight: 700; }
.contact-btn--cta:hover { background: #4705D0; border-color: #4705D0; color: #FDFEFC; }
.contact-btn--cta:hover svg path,
.contact-btn--cta:hover svg rect { stroke: #FDFEFC !important; }
.contact-btn--cta svg path,
.contact-btn--cta svg rect { stroke: #4705D0; }

.copied-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: #1E085D;
  color: #FDFEFC;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s;
  pointer-events: none;
  z-index: 999;
}
.copied-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── Meta pills ── */
.cv-meta-pills { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 10px 0 14px; }
.meta-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: #5C6470; background: #F6F5F0; border-radius: 999px; padding: 4px 12px; }
.meta-pill svg { flex-shrink: 0; }
.meta-pill--highlight { color: #4705D0; background: #EDE8FF; }
.meta-pill--highlight svg path { fill: #4705D0; }

/* ── Info sections ── */
.info-section { margin: 1.5rem 0; padding-bottom: 1.5rem; border-bottom: 1px solid #EDEAE6; }
.info-section-label { font-size: 10px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }

/* How I can help grid */
.help-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.help-card { background: #FDFEFC; border: 1px solid #EDEAE6; border-radius: 10px; padding: 16px; transition: border-color 0.2s, transform 0.15s; }
.help-card:hover { border-color: #C5C0D8; transform: translateY(-1px); }
.help-icon { font-size: 20px; margin-bottom: 8px; }
.help-title { font-size: 12px; font-weight: 700; color: #1E085D; margin-bottom: 5px; line-height: 1.3; }
.help-desc { font-size: 11px; color: #4A5568; line-height: 1.6; }

/* AI tools grid */
.tools-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.tool-pill { font-size: 11px; font-weight: 600; color: #1E085D; background: #EDE8FF; border-radius: 999px; padding: 5px 14px; white-space: nowrap; transition: background 0.15s, color 0.15s; }
.tool-pill:hover { background: #1E085D; color: #FDFEFC; }

/* ── Logo strip ── */
.logo-strip-section { padding: 1.5rem 0; border-top: 1px solid #DAD2CE; border-bottom: 1px solid #DAD2CE; margin: 1.5rem 0; }
.logo-strip-label { font-size: 10px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }
.logo-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.logo-item { display: flex; align-items: center; height: 32px; }
.logo-item img { height: 24px; width: auto; max-width: 90px; filter: grayscale(100%) opacity(0.45); transition: filter 0.25s; display: block; }
.logo-item:hover img { filter: grayscale(0%) opacity(1); }
.logo-text-badge { height: 28px; padding: 0 12px; background: #F0EFE9; border-radius: 6px; font-size: 11px; font-weight: 700; color: #3D3A36; display: flex; align-items: center; transition: background 0.2s, color 0.2s; }
.logo-text-badge:hover { background: #1E085D; color: #FDFEFC; }

/* ── Main tabs ── */
.main-tabs { display: flex; gap: 4px; margin-bottom: 1.5rem; border-bottom: 2px solid #EDEAE6; }
.main-tab {
  padding: 10px 20px;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #5C6470;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}
.main-tab:hover { color: #1E085D; }
.main-tab.active { color: #1E085D; border-bottom-color: #4705D0; }
.main-tab:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }

/* ── Tab panels ── */
.tab-panel { display: none; }
.tab-panel.active { display: block; }

/* ── Career controls ── */
.controls-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 1.5rem; }
.filter-bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.filter-label { font-size: 11px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.06em; margin-right: 4px; }
.filter-pill { padding: 5px 14px; border-radius: 999px; border: 1.5px solid #B0AAA6; background: transparent; font-family: 'Manrope', sans-serif; font-size: 12px; font-weight: 600; color: #1D2939; cursor: pointer; transition: all 0.15s; }
.filter-pill:hover { border-color: #1E085D; color: #1E085D; }
.filter-pill.active { background: #1E085D; border-color: #1E085D; color: #FDFEFC; }
.filter-pill:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }
.expand-controls { display: flex; gap: 8px; }
.expand-btn { padding: 5px 12px; border-radius: 8px; border: 1.5px solid #B0AAA6; background: transparent; font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 600; color: #3D3A36; cursor: pointer; display: flex; align-items: center; gap: 5px; transition: all 0.15s; }
.expand-btn:hover { border-color: #1E085D; color: #1E085D; background: #F0EEF8; }
.expand-btn:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }

/* ── Timeline ── */
.timeline { position: relative; }
.timeline-group { display: grid; grid-template-columns: 180px 1fr; gap: 0 24px; margin-bottom: 8px; position: relative; }
.timeline-group::before { content: ''; position: absolute; left: 180px; top: 0; bottom: 0; width: 2px; background: #EDEAE6; transform: translateX(12px); z-index: 0; }
.timeline-group.hidden { display: none; }

.year-row { grid-column: 1 / -1; padding: 20px 0 8px; display: flex; align-items: center; gap: 12px; }
.year-label { font-size: 11px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
.year-line { flex: 1; height: 1px; background: #EDEAE6; }

.company-col { display: flex; flex-direction: column; align-items: flex-end; padding: 20px 0; position: relative; z-index: 1; }
.company-logo-wrap { width: 48px; height: 48px; background: #FDFEFC; border: 1px solid #EDEAE6; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; overflow: hidden; flex-shrink: 0; }
.company-logo-wrap img { width: 32px; height: 32px; object-fit: contain; filter: grayscale(100%) opacity(0.55); transition: filter 0.25s; }
.company-logo-wrap:hover img { filter: grayscale(0%) opacity(1); }
.company-text-logo { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 800; color: #1E085D; text-align: center; line-height: 1.2; }
.company-name { font-size: 11px; font-weight: 700; color: #1E085D; text-align: right; margin-bottom: 2px; }
.company-dates { font-size: 10px; font-weight: 600; color: #5C6470; text-align: right; }
.company-duration { font-size: 10px; font-weight: 700; color: #4705D0; text-align: right; margin-top: 3px; }
.company-location { font-size: 10px; color: #5C6470; text-align: right; margin-top: 1px; }
.connector { position: absolute; right: -31px; top: 28px; width: 14px; height: 14px; border-radius: 50%; background: #B0AAA6; border: 2.5px solid #FDFEFC; z-index: 2; }

.roles-col { padding: 20px 0; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1; }
.role-card { background: #FDFEFC; border: 1px solid #EDEAE6; border-radius: 12px; padding: 16px 20px; transition: border-color 0.2s, transform 0.2s; cursor: pointer; }
.role-card:hover { border-color: #C5C0D8; transform: translateX(3px); }
.role-card.expanded { border-color: #4705D0; }
.role-card:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }

.role-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.role-header-left { flex: 1; min-width: 0; }
.role-title-row { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.role-title { font-size: 14px; font-weight: 700; color: #1D2939; line-height: 1.3; }
.expand-chevron { flex-shrink: 0; width: 16px; height: 16px; color: #5C6470; transition: transform 0.3s ease; }
.role-card.expanded .expand-chevron { transform: rotate(180deg); }
.role-summary { font-size: 12px; color: #4A5568; line-height: 1.55; }

.role-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.05em; padding: 3px 10px; border-radius: 999px; white-space: nowrap; flex-shrink: 0; }
.tag-founder  { background: #FCE7ED; color: #8B1A3A; }
.tag-corporate { background: #DDD9EE; color: #1E085D; }
.tag-academic { background: #C8F5EE; color: #0D5C50; }
.tag-award    { background: #FFF0B3; color: #6B4A00; }
.tag-education { background: #D4E2FF; color: #1A3585; }
.tag-advisory { background: #E8DFFF; color: #3A1A8A; }

.role-detail { max-height: 0; overflow: hidden; opacity: 0; margin-top: 0; transition: max-height 0.45s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease, margin-top 0.3s ease; }
.role-card.expanded .role-detail { max-height: 800px; opacity: 1; margin-top: 14px; }
.detail-divider { height: 1px; background: #EDEAE6; margin-bottom: 12px; }
.detail-bullets { list-style: none; padding: 0; }
.detail-bullets li { font-size: 12px; color: #1D2939; line-height: 1.65; padding: 3px 0 3px 18px; position: relative; }
.detail-bullets li::before { content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: #C94073; }
.highlight-badge { display: inline-flex; align-items: center; background: #FFF0B3; color: #6B4A00; font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 8px; margin-bottom: 10px; }

.timeline-group[data-type="founder"]   .connector { background: #C94073; }
.timeline-group[data-type="corporate"] .connector { background: #1E085D; }
.timeline-group[data-type="academic"]  .connector { background: #0D7A68; }
.timeline-group[data-type="award"]     .connector { background: #B87D00; }
.timeline-group[data-type="education"] .connector { background: #1A3585; }

.cv-footer-note { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #EDEAE6; font-size: 11px; color: #5C6470; font-weight: 500; }

/* ── Speaking tab ── */

/* Featured player */
.featured-player { margin-bottom: 2rem; }
.player-wrapper { position: relative; width: 100%; padding-bottom: 56.25%; border-radius: 12px; overflow: hidden; background: #0a0a0a; }
.player-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.featured-meta { margin-top: 14px; }
.featured-title { font-size: 18px; font-weight: 700; color: #1E085D; line-height: 1.3; margin-bottom: 6px; }
.featured-sub { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.featured-event    { font-size: 12px; font-weight: 600; color: #4A5568; }
.featured-date     { font-size: 12px; color: #5C6470; }
.featured-duration { font-size: 12px; color: #5C6470; }

/* Type badge colours */
.type-badge { font-size: 10px; font-weight: 700; letter-spacing: 0.05em; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.type-Podcast    { background: #E8DFFF; color: #3A1A8A; }
.type-Talk       { background: #C8F5EE; color: #0D5C50; }
.type-Conference { background: #DDD9EE; color: #1E085D; }
.type-Panel      { background: #FFF0B3; color: #6B4A00; }
.type-Webinar    { background: #DDF0F5; color: #1A6B8A; }
.type-Interview  { background: #D4E2FF; color: #1A3585; }
.type-Workshop   { background: #FCE7ED; color: #8B1A3A; }
.type-Bootcamp   { background: #E8F5CC; color: #3D5200; }
.type-Hackathon  { background: #F9D2DE; color: #6B0020; }

/* Speaking timeline */
.speaking-timeline-label { font-size: 10px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.1em; padding-top: 1rem; border-top: 1px solid #EDEAE6; margin-bottom: 0; }
.speaking-timeline { position: relative; }
.speaking-group { display: grid; grid-template-columns: 180px 1fr; gap: 0 24px; margin-bottom: 4px; position: relative; }
.speaking-group::before { content: ''; position: absolute; left: 180px; top: 0; bottom: 0; width: 2px; background: #EDEAE6; transform: translateX(12px); z-index: 0; }

.speaking-year-row { grid-column: 1 / -1; padding: 20px 0 8px; display: flex; align-items: center; gap: 12px; }
.speaking-year-label { font-size: 11px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.08em; white-space: nowrap; }
.speaking-year-line { flex: 1; height: 1px; background: #EDEAE6; }

.speaking-left { display: flex; flex-direction: column; align-items: flex-end; padding: 16px 0; position: relative; z-index: 1; gap: 5px; }
.speaking-connector { position: absolute; right: -31px; top: 22px; width: 14px; height: 14px; border-radius: 50%; background: #B0AAA6; border: 2.5px solid #FDFEFC; z-index: 2; }
.speaking-duration-label { font-size: 10px; font-weight: 600; color: #5C6470; text-align: right; }

.speaking-group[data-type="Podcast"]    .speaking-connector { background: #3A1A8A; }
.speaking-group[data-type="Talk"]       .speaking-connector { background: #0D7A68; }
.speaking-group[data-type="Conference"] .speaking-connector { background: #1E085D; }
.speaking-group[data-type="Panel"]      .speaking-connector { background: #B87D00; }
.speaking-group[data-type="Workshop"]   .speaking-connector { background: #C94073; }
.speaking-group[data-type="Webinar"]    .speaking-connector { background: #1A6B8A; }
.speaking-group[data-type="Bootcamp"]   .speaking-connector { background: #5B6F00; }
.speaking-group[data-type="Hackathon"]  .speaking-connector { background: #8B1A3A; }

.speaking-right { padding: 16px 0; position: relative; z-index: 1; }

.video-card { display: grid; grid-template-columns: 140px 1fr; border-radius: 10px; overflow: hidden; cursor: pointer; border: 1.5px solid #EDEAE6; transition: border-color 0.2s, transform 0.2s; background: #FDFEFC; }
.video-card:hover { border-color: #C5C0D8; transform: translateX(3px); }
.video-card.active { border-color: #4705D0; }
.video-card:focus-visible { outline: 2px solid #4705D0; outline-offset: 2px; }

.thumb-wrap { position: relative; width: 140px; min-height: 79px; background: #0a0a0a; overflow: hidden; flex-shrink: 0; }
.thumb-wrap img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.thumb-overlay { position: absolute; inset: 0; background: rgba(10,10,10,0); display: flex; align-items: center; justify-content: center; transition: background 0.25s; }
.video-card:hover .thumb-overlay,
.video-card.active .thumb-overlay { background: rgba(10,10,10,0.45); }
.play-btn { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.95); display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0.8); transition: opacity 0.2s, transform 0.2s; }
.play-btn svg { margin-left: 3px; }
.video-card:hover .play-btn { opacity: 1; transform: scale(1); }
.video-card.active .play-btn { opacity: 1; transform: scale(1); background: #4705D0; }
.video-card.active .play-btn svg path { fill: #FDFEFC; }

.video-card-meta { padding: 12px 16px; display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.video-card-title { font-size: 13px; font-weight: 700; color: #1D2939; line-height: 1.4; }
.video-card-event { font-size: 11px; font-weight: 600; color: #4A5568; }
.video-card-date  { font-size: 11px; color: #5C6470; }

/* Streaming links */
.stream-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.stream-link { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 999px; text-decoration: none; transition: background 0.15s, color 0.15s; letter-spacing: 0.03em; }
.stream-spotify { background: #E8DFFF; color: #3A1A8A; }
.stream-spotify:hover { background: #3A1A8A; color: #FDFEFC; }
.stream-apple { background: #F5E8FF; color: #5B1A8A; }
.stream-apple:hover { background: #5B1A8A; color: #FDFEFC; }
.stream-event { background: #F0EFE9; color: #3D3A36; }
.stream-event:hover { background: #1E085D; color: #FDFEFC; }

/* Non-YouTube event card */
.video-card.event-card { cursor: default; }
.video-card.event-card:hover { transform: translateX(3px); border-color: #C5C0D8; }
.event-icon-wrap { width: 140px; min-height: 79px; background: #F6F5F0; display: flex; align-items: center; justify-content: center; font-size: 32px; flex-shrink: 0; }

/* ── Mobile ── */
@media (max-width: 600px) {
  body { padding: 1rem; }

  .timeline-group { grid-template-columns: 1fr; gap: 0; }
  .timeline-group::before { display: none; }
  .company-col { flex-direction: row; align-items: center; gap: 12px; padding: 16px 0 8px; }
  .company-logo-wrap { margin-bottom: 0; flex-shrink: 0; }
  .company-name, .company-dates, .company-duration, .company-location { text-align: left; }
  .connector { display: none; }
  .roles-col { padding: 0 0 16px; }
  .year-row { padding: 16px 0 6px; }

  .controls-row { flex-direction: column; align-items: flex-start; }
  .help-grid { grid-template-columns: 1fr; }
  .cv-meta-pills { gap: 6px; }
  .main-tab { padding: 8px 14px; font-size: 12px; }

  .speaking-group { grid-template-columns: 1fr; }
  .speaking-group::before { display: none; }
  .speaking-left { flex-direction: row; align-items: center; gap: 10px; padding: 12px 0 4px; }
  .speaking-connector { display: none; }
  .speaking-right { padding: 0 0 16px; }

  .video-card { grid-template-columns: 110px 1fr; }
  .thumb-wrap { width: 110px; min-height: 62px; }
}

/* ── Second Brain Session ── */
.session-section { border-bottom: 1px solid #EDEAE6; }

.session-card {
  background: #F7F4FF;
  border: 1.5px solid #C5B8F0;
  border-radius: 14px;
  padding: 28px;
}

.session-card-top { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.session-icon { font-size: 28px; flex-shrink: 0; margin-top: 2px; }
.session-name { font-size: 18px; font-weight: 800; color: #1E085D; line-height: 1.2; margin-bottom: 5px; }
.session-tagline { font-size: 13px; color: #3D3A36; line-height: 1.55; margin-bottom: 10px; }
.session-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.session-badge { font-size: 11px; font-weight: 600; color: #5C6470; background: #EDEAE6; border-radius: 999px; padding: 3px 10px; }
.session-badge--highlight { background: #EDE8FF; color: #4705D0; }

.session-desc { font-size: 12.5px; color: #1D2939; line-height: 1.7; margin-bottom: 10px; max-width: 700px; }
.session-desc--note { color: #4A5568; font-style: italic; }

.session-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0; }
.session-step { background: #FDFEFC; border: 1px solid #DDD9EE; border-radius: 10px; padding: 14px; }
.step-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.step-num {
  width: 22px; height: 22px; background: #1E085D; color: #FDFEFC;
  border-radius: 50%; font-size: 11px; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.step-duration { font-size: 10px; font-weight: 700; color: #4705D0; background: #EDE8FF; border-radius: 999px; padding: 2px 8px; }
.step-title { font-size: 12px; font-weight: 700; color: #1E085D; margin-bottom: 5px; line-height: 1.3; }
.step-desc { font-size: 11px; color: #4A5568; line-height: 1.6; }

.session-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 4px 0 24px; }
.session-sub-label { font-size: 10px; font-weight: 700; color: #5C6470; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 10px; }
.session-who-list { list-style: none; padding: 0; }
.session-who-list li { font-size: 12px; color: #1D2939; line-height: 1.65; padding: 3px 0 3px 16px; position: relative; }
.session-who-list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 5px; height: 5px; border-radius: 50%; background: #4705D0; }
.pricing-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid #E8E4F0; }
.pricing-row:last-of-type { border-bottom: none; }
.pricing-label { font-size: 12px; color: #1D2939; font-weight: 500; }
.pricing-amount { font-size: 13px; font-weight: 700; color: #1E085D; text-align: right; }
.pricing-note { font-size: 10px; font-weight: 500; color: #5C6470; display: block; margin-top: 1px; }
.pricing-contact { font-size: 12px; font-weight: 600; color: #4705D0; }
.pricing-includes { font-size: 11px; color: #5C6470; line-height: 1.65; margin-top: 12px; }

.session-ctas { display: flex; gap: 10px; flex-wrap: wrap; }

@media (max-width: 600px) {
  .session-card { padding: 20px 16px; }
  .session-steps { grid-template-columns: 1fr 1fr; }
  .session-lower { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 400px) {
  .session-steps { grid-template-columns: 1fr; }
}
