/* CRITICAL CSS - No external stylesheets */
* { box-sizing: border-box; }
body { 
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6; 
  margin: 0; 
  color: #333;
}
html { scroll-behavior: smooth; }

/* Offset anchor targets to scroll further down the page */
section[id] {
  scroll-margin-top: -80px;
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.container-fluid { width: 100%; padding: 0 15px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.col-12 { flex: 0 0 100%; padding: 0 15px; }
.col-md-5 { flex: 0 0 41.666667%; }
.col-md-7 { flex: 0 0 58.333333%; }
.col-lg-6 { flex: 0 0 50%; }
.col-md-6 { flex: 0 0 50%; }
.col-lg-4 { flex: 0 0 33.333333%; }
@media (max-width: 768px) {
  .col-md-5, .col-md-7, .col-lg-6, .col-md-6, .col-lg-4 { flex: 0 0 100%; }
}
.py-3 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 3rem; padding-bottom: 3rem; }
.pt-5 { padding-top: 3rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-5 { margin-top: 3rem; }
.mr-3 { margin-right: 1rem; }
.mr-lg-2 { margin-right: 0.5rem; }
.text-center { text-align: center; }
.text-white { color: white; }
.text-muted { color: #6c757d; }
.h-100 { height: 100%; }
.justify-content-center { justify-content: center; }
.btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  border-radius: 0.25rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.15s ease;
}
.btn-primary {
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
}
.btn-primary:hover { 
  background-color: #0056b3; 
  border-color: #0056b3; 
}
.btn-secondary {
  background-color: #6c757d;
  color: white;
  border: 1px solid #6c757d;
}
.card {
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card-body { 
  padding: 1.5rem; 
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.card-title { 
  font-size: 1.25rem; 
  font-weight: 500; 
  margin-bottom: 0.75rem;
  min-height: 3rem;
}
.card-text { 
  margin-bottom: 1rem; 
  flex: 1;
}
.shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); }
.header { background: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.theme-bg-primary { 
  background: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);
  color: white;
}
.theme-bg-light-gradient { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
.theme-bg-light { background-color: #f8f9fa; padding: 1rem; border-radius: 0.5rem; }
.author-section a {
  color: #e2e8f0 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}
.author-section a:hover {
  color: #ffffff !important;
  text-decoration: none;
}
h1 { font-size: 2.25rem; font-weight: 700; margin-bottom: 0rem; }
h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; }

/* Reduce space between h1 and h2 in hero */
.hero-section h2 { margin-top: -1rem; }
h3 { font-size: 1.5rem; font-weight: 500; margin-bottom: 0.75rem; }
h4 { font-size: 1.25rem; font-weight: 500; margin-bottom: 0.0rem; }
h5 { font-size: 1.1rem; font-weight: 500; margin-bottom: 0.5rem; }
.book-showcase {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.book-item {
  text-align: center;
  max-width: 300px;
}
.book-cover {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  display: block;
  margin: 0 auto;
}

/* Smaller book covers in hero section */
.hero-section .book-cover {
  max-width: 200px;
  height: auto;
}
.section { padding: 3rem 0; }
.section-heading { font-size: 2rem; font-weight: 600; }
.section-intro { font-size: 1.1rem; color: #6c757d; }
.single-col-max { max-width: 800px; }
.mx-auto { margin-left: auto; margin-right: auto; }
.item-inner { padding: 1.5rem; }
.item-header { margin-bottom: 1rem; }
.item-heading { font-size: 1.25rem; font-weight: 500; }
.item-desc { color: #6c757d; }
.media { display: flex; align-items: flex-start; margin-bottom: 2rem; }
.media-body { flex: 1; }
.item-title { font-size: 1.1rem; font-weight: 500; margin-bottom: 0.5rem; }
.item-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  display: block;
}
.fa-server::before { content: "🗄️"; }
.fa-docker::before { content: "📦"; }
.fa-dharmachakra::before { content: "⚙️"; }
.fa-shield-alt::before { content: "🛡️"; }
.fa-code-branch::before { content: "🔀"; }
.fa-cloud::before { content: "☁️"; }
.fa-user-shield::before { content: "👨‍💼"; }
.fa-user-cog::before { content: "👨‍🔧"; }
.fa-user-tie::before { content: "⚡️"; } /* Changed to more technical icon */
.fa-user-graduate::before { content: "🎓"; }
.footer { background-color: #f8f9fa; margin-top: 3rem; }
.footer small { color: #6c757d; }
.theme-link { color: #007bff; text-decoration: none; }
.back-to-top {
  position: fixed; 
  bottom: 20px; 
  right: 20px; 
  width: 40px; 
  height: 40px; 
  background-color: #007bff; 
  color: white; 
  text-decoration: none; 
  border-radius: 50%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  z-index: 1000; 
  font-size: 18px; 
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.quotes-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  width: 100%;
  max-width: 100%;
}
.carousel-inner {
  display: flex;
  width: 300%;
  transition: transform 0.5s ease-in-out;
}
.carousel-item {
  width: 33.333333%;
  flex-shrink: 0;
  box-sizing: border-box;
}
.quotes-carousel:hover .carousel-inner {
  animation-play-state: paused;
}
.carousel-indicators {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem 0 0 0;
  padding: 0;
  list-style: none;
}
.carousel-indicators li {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(0,0,0,0.3);
  cursor: pointer;
  transition: background-color 0.3s;
}
.carousel-indicators li.active {
  background-color: #007bff;
}
.quote {
  margin: 0;
  font-style: italic;
  font-weight: 500;
}

/* Logo text styling - made smaller */
.logo-text {
  font-size: 0.9rem;
  font-weight: 500;
}

/* Missing utility classes */
.position-relative { position: relative; }
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.align-items-center { align-items: center; }
.align-self-center { align-self: center; }
.pr-md-3 { padding-right: 1rem; }
.pr-lg-5 { padding-right: 3rem; }
.p-4 { padding: 1.5rem; }
.p-3 { padding: 1rem; }
.p-lg-4 { padding: 1.5rem; }
@media (min-width: 992px) {
  .pr-lg-5 { padding-right: 3rem; }
  .p-lg-4 { padding: 2rem; }
}
@media (min-width: 768px) {
  .pr-md-3 { padding-right: 1rem; }
}

/* --- Responsive grid for audience section --- */
.audience .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.audience .col-12 {
  padding-left: 15px;
  padding-right: 15px;
}
.audience .col-md-6 {
  flex: 0 0 50%;
  max-width: 50%;
}
.audience .col-lg-3 {
  flex: 0 0 25%;
  max-width: 25%;
}
@media (max-width: 991.98px) {
  .audience .col-lg-3 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media (max-width: 767.98px) {
  .audience .col-md-6, .audience .col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.audience .item-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  display: block;
}
.audience .item-title,
.audience .item-desc {
  text-align: center;
}
/* --- End audience --- */