/* Light theme only */
:root{
  --section-space:3rem;
  --surface:#ffffff;
  --surface-alt:#f8f9fb; /* soft tint to reduce stark whitespace */
  --border:#e2e2e2;
  --primary:#0d6efd;
  --primary-2:#6f42c1;
  --text:#212529;
  --shadow-sm: 0 6px 16px rgba(13, 110, 253, 0.08), 0 2px 6px rgba(0,0,0,0.04);
  --shadow-lg: 0 20px 40px rgba(13,110,253,.15), 0 8px 24px rgba(0,0,0,.08);
}

/* Subtle textured background to break large white areas */
body{
  background:
    radial-gradient(1200px 600px at 120% -10%, rgba(111,66,193,.06), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, rgba(13,110,253,.06), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  color:var(--text);
}

.navbar{background:var(--primary)!important; box-shadow: 0 2px 8px rgba(13,110,253,.25)}
.card{background:var(--surface);border-color:var(--border); box-shadow: var(--shadow-sm); transition: transform .24s ease, box-shadow .24s ease}
.card-plain{background:transparent;border:1px solid var(--border);border-radius:.75rem}
.border-top{border-color:var(--border)!important}
.link-secondary{color:#6c757d!important}

/* Hero gradient with more depth */
.bg-gradient{
  background: radial-gradient(1100px 500px at -10% -10%, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 60%),
              linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
}

/* Section rhythm and alternating surfaces to reduce monotony */
.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.section:nth-of-type(even){
  background: var(--surface-alt);
}

.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Headings pop */
h1,h2,h3{letter-spacing:.2px}
.h3, h2.h3{
  position:relative;
  padding-bottom:.4rem;
}
.h3:after, h2.h3:after{
  content:"";
  position:absolute;left:0;bottom:0;height:3px;width:64px;border-radius:2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-2));
  opacity:.8;
}

/* Card and button interactions */
.card:hover{transform:translateY(-4px);box-shadow: var(--shadow-lg)}
.btn{transition: transform .08s ease, box-shadow .2s ease, background-color .2s ease}
.btn:hover{transform: translateY(-1px); box-shadow: 0 8px 20px rgba(13,110,253,.25)}
.btn:active{transform: translateY(0)}

/* Fine-tune accordion and list spacing for denser look */
.accordion-button{box-shadow:none}
.accordion-button:not(.collapsed){background-color: rgba(13,110,253,.08); color:#0b5ed7}
ul{margin-bottom:1rem}

/* Reduce extra space on very small screens */
@media (max-width: 576px){
  :root{--section-space:2.25rem}
  .display-5{font-size:2rem}
  header .lead{font-size:1rem}
}
