
:root{ --accent:#21a7d7; --ink:#0b132b; --soft:#e6f6fb; }
body{font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.navbar{
  padding-top:1.35rem;
  padding-bottom:1.35rem;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(6px);
  animation:headerGlow 12s ease-in-out infinite;
}
.navbar-brand{font-size:1.25rem;font-family:'Montserrat',sans-serif;}
.header-icon{height:40px;width:auto;filter:brightness(0) invert(1);}
.navbar-nav .nav-link{position:relative;margin-left:1.5rem;display:flex;align-items:center;padding:.25rem 0;}
.navbar-nav .nav-link i{margin-right:.5rem;}
.navbar-nav .nav-link::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--accent);box-shadow:0 0 6px transparent;transition:width .3s,box-shadow .3s;}
.navbar-nav .nav-link:hover::after{width:100%;box-shadow:0 0 6px var(--accent);}
.hero{
  position:relative;
  background: radial-gradient(1200px 600px at 70% 30%, rgba(255,255,255,.2), rgba(33,167,215,.25) 40%, rgba(11,19,43,.9) 75%);
  color:white; min-height:72vh; display:flex; align-items:center; border-radius:0;
}
.hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.6)); z-index:1; }
.hero .content{position:relative; z-index:2;}
.title-big{font-weight:900; letter-spacing:.12em; text-transform:uppercase; line-height:1; font-size:clamp(2.4rem,5vw,5rem);}
.title-script{font-family:'Dancing Script', cursive; font-size:clamp(1.8rem,3.2vw,3rem); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.35);}
.badge-soft{background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);}
.card-ghost{background:rgba(255,255,255,.82); border:1px solid #f0f6ff; backdrop-filter:blur(6px);}
.btn-accent{background:var(--accent); color:#fff; border:none;} .btn-accent:hover{filter:brightness(.95); color:#fff;}
.section{padding:4rem 0;}
.carousel-caption{background:rgba(0,0,0,.45); border-radius:1rem; padding:1rem 1.2rem;}
/* grid used on catalog page originally */
.grid-qr{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem;}
.qr-tile{border:1px solid #e5eef2; border-radius:1rem; padding:1rem; background:#fff;}
small.meta{color:#6b7a85;}

/* Author page */
.author-hero{
  background: radial-gradient(1200px 600px at 70% 30%, rgba(255,255,255,.18), rgba(33,167,215,.28) 40%, rgba(11,19,43,.9) 75%), url('../img/autor-portrait.png') center/cover no-repeat;
  min-height:90vh;
}

/* Timeline */
.timeline{position:relative; margin:0; padding:0 0 0 1rem; border-left:3px solid #e5eef2;}
.tl-item{position:relative; margin:1.5rem 0;}
.tl-year{font-weight:800; color:#0b132b; margin-left:.5rem;}
.tl-card{background:#fff; border:1px solid #eef2f6; border-radius:12px; padding:1rem; margin:.4rem 0 .4rem 1rem; box-shadow:0 10px 20px rgba(0,0,0,.04);}
.tl-dot{position:absolute; left:-9px; top:8px; width:14px; height:14px; background:var(--accent); border-radius:50%; box-shadow:0 0 0 3px rgba(33,167,215,.2);}
@media (min-width:992px){ .timeline{display:grid; grid-template-columns:1fr 1fr; border:none; gap:1rem;} .tl-item{border-left:3px solid #e5eef2; padding-left:1rem;} }

/* crossfade slides */
.hero .slides{position:absolute; inset:0; z-index:0; border-radius:inherit; overflow:hidden;}
.hero .slides .slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; animation:heroFade 25s infinite linear;}
.hero .slides .slide:first-child{animation-delay:-1s;}
.hero .slides .slide:nth-child(2){animation-delay:5s;}
.hero .slides .slide:nth-child(3){animation-delay:10s;}
.hero .slides .slide:nth-child(4){animation-delay:15s;}
.hero .slides .slide:nth-child(5){animation-delay:20s;}
.hero .slides .slide:only-child{opacity:1;animation:none;}
@keyframes heroFade{0%{opacity:0}4%{opacity:1}20%{opacity:1}24%{opacity:0}100%{opacity:0}}
@keyframes headerGlow{0%,100%{box-shadow:0 0 8px rgba(33,167,215,.2);}50%{box-shadow:0 0 16px rgba(33,167,215,.4);}}
