:root{
  --tp-blue:#1F6FEB;   /* a bit more electric */
  --tp-blue-deep:#0B3D91;
  --tp-accent:#F6C445; /* warm yellow accent (minor) */
  --tp-black:#0B0B0D;
  --tp-ink:#17181B;
  --tp-white:#ffffff;
  --tp-muted:#6b7280;
  --tp-card:#111217;
  --tp-soft:#f5f7fb;
  --tp-radius:18px;
}

html {height:100%;}
body{
  min-height: 100%;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--tp-ink);
  background: radial-gradient(1200px 1400px at 20% -10%, rgba(31,111,235,.22), transparent 60%),
              radial-gradient(900px 1400px at 110% 10%, rgba(31,111,235,.14), transparent 55%),
              var(--tp-soft);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left: 12px; top: 12px; width:auto; height:auto; padding:10px 12px;
  background:#fff; border:2px solid var(--tp-blue); border-radius:12px; z-index:9999;
}

.tp-header{
  background: linear-gradient(180deg, rgba(11,11,13,.94), rgba(11,11,13,.92));
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: sticky; top: 0; z-index: 1000;
  backdrop-filter: blur(10px);
}

.navbar-brand{ text-decoration:none; }
.tp-mark{
  width:42px; height:42px; border-radius:12px;
  display:grid; place-items:center;
  background: rgba(31,111,235,.18);
  border:1px solid rgba(31,111,235,.50);
  color:#fff;
  font-family: Oswald, Impact, sans-serif;
  font-weight:700;
  letter-spacing:.06em;
}
.tp-brand{line-height:1;}
.tp-brand-top{
  display:block;
  font-family: Inter, sans-serif;
  font-size:.78rem;
  opacity:.9;
}
.tp-brand-bottom{
  display:block;
  font-family: Oswald, Impact, sans-serif;
  font-weight:700;
  letter-spacing:.04em;
}

.navbar-dark .navbar-nav .nav-link{
  color: rgba(255,255,255,.82);
  font-weight:600;
}
.navbar-dark .navbar-nav .nav-link:hover{color:#fff;}
.navbar-dark .navbar-nav .nav-link.active{
  color:#fff;
  position:relative;
}
.navbar-dark .navbar-nav .nav-link.active::after{
  content:'';
  position:absolute; left:10px; right:10px; bottom:4px; height:2px;
  background: var(--tp-blue);
  border-radius: 99px;
}

.tp-hero{
  padding: 52px 0 36px;
}
.tp-hero-card{
  border-radius: var(--tp-radius);
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(31,111,235,.28), transparent 60%),
    linear-gradient(140deg, rgba(11,11,13,.96), rgba(17,18,23,.92));
  color:#fff;
  border: 1px solid rgba(255,255,255,.08);
  overflow:hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.tp-hero-content{padding: 34px 28px;}
@media (min-width: 992px){
  .tp-hero-content{padding: 44px 44px;}
}
.tp-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
  color: rgba(255,255,255,.80);
}
.tp-kicker-badge{
  background: rgba(31,111,235,.24);
  border: 1px solid rgba(246,196,69,.65);
  color:#fff;
  padding: 6px 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 2px rgba(246,196,69,.12) inset; /* subtle yellow energy */
}

.tp-title{
  font-family: Oswald, Impact, sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  font-size: clamp(2.4rem, 5vw, 4.1rem);
  margin: 14px 0 10px;
}
.tp-title .light{
  color: rgba(255,255,255,.85);
  font-weight: 600;
}
.tp-subtitle{
  font-size: 1.08rem;
  color: rgba(255,255,255,.82);
  max-width: 58ch;
}
.tp-cta-row{margin-top: 18px; display:flex; flex-wrap:wrap; gap:10px;}
.tp-btn{
  border-radius: 999px;
  padding: 11px 16px;
  font-weight: 700;
}
.tp-btn-primary{
  background: var(--tp-blue);
  border: 1px solid rgba(100,100,100,.90);
  color:#fff;
}
.tp-btn-primary:hover{background-color: var(--tp-white); color:#000;}

.tp-btn-ghost{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color:#fff;
}
.tp-btn-ghost-dk{
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.12);
  color:#000;
}

.tp-btn-ghost:hover{background: rgba(255,255,255,.12); color:#fff;}
.tp-btn-ghost-dk:hover{background: rgba(0,0,0,.12); color:#000;}

.tp-hero-media{
  height:100%;
  background: radial-gradient(600px 300px at 30% 10%, rgba(31,111,235,.34), transparent 52%),
              radial-gradient(900px 600px at 80% 50%, rgba(11,61,145,.22), transparent 60%),
              linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  padding: 22px;
}
.tp-media-stack{
  display: grid;
  place-items: center;
  gap: 14px;
  min-height: 420px;
}
.tp-cover{
  width: 100%;
  max-width: 360px;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.12);
}
.tp-tilt{ transform: rotate(-1.25deg); }
.tp-tilt2{ transform: rotate(1.35deg); }

.tp-author-row{
  width: 100%;
  max-width: 360px;
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(11,11,13,.62);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.tp-author-avatar{
  width: 66px;
  height: 66px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(246,196,69,.55);
}
.tp-author-name{ font-weight: 800; letter-spacing: .01em; color: rgba(255,255,255,.95); }
.tp-author-sub{ font-size: .86rem; color: rgba(255,255,255,.72); }
.tp-media-note{
  color: rgba(255,255,255,.90);
  background: rgba(0,0,0,.38);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 10px 12px;
}

.tp-section{padding: 10px 0 56px;}
.tp-section h2{
  font-family: Oswald, Impact, sans-serif;
  font-weight:700;
  letter-spacing:.02em;
}
.tp-card{
  border-radius: var(--tp-radius);
  background:#fff;
  border: 1px solid rgba(17,18,23,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.tp-card-dark{
  background: linear-gradient(180deg, rgba(11,11,13,.95), rgba(17,18,23,.94));
  color:#fff;
  border: 1px solid rgba(255,255,255,.08);
}
.tp-quote{
  font-size: 1.03rem;
  color: rgba(255,255,255,.86);
}
.tp-quote small{color: rgba(255,255,255,.68);}

.tp-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(31,111,235,.10);
  border: 1px solid rgba(31,111,235,.25);
  color: var(--tp-ink);
  font-weight:700;
}

/* Pills appear inside the dark hero too */
.tp-hero .tp-pill{
  color: rgba(255,255,255,.92);
  background: rgba(31,111,235,.18);
  border-color: rgba(31,111,235,.38);
}

/* Minor yellow accents for energy */
.tp-card-dark h2::after{
  content:'';
  display:block;
  width: 54px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(246,196,69,.85);
}
.tp-card-dark h2{
  color:var(--tp-white) !important;
}

.tp-card h2{
  color: var(--tp-black);
}

.tp-card h2::after{
  content:'';
  display:block;
  width: 54px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: var(--tp-blue);
}

.tp-footer{
  background: var(--tp-black);
  color: rgba(255,255,255,.86);
  border-top: 1px solid rgba(255,255,255,.08);
}
.tp-footer-title{font-family: Oswald, Impact, sans-serif; font-weight:700; letter-spacing:.02em;}
.tp-footer-sub{color: rgba(255,255,255,.72);}
.tp-footer-link{color: rgba(255,255,255,1); text-decoration:none; font-weight:700;}
.tp-footer-link:hover{color:#fff; text-decoration:underline;}
.tp-footer-dot{margin: 0 8px; opacity:.6;}
.tp-footer-meta{color: rgba(255,255,255,.65);}


/* Quote box */
.tp-quote-box{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(245,197,66,.28);
  border-left: 5px solid rgba(245,197,66,.85);
  border-radius: 14px;
  padding: 14px 16px;
}
.tp-quote-label{
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 700;
  color: rgba(245,197,66,.95);
  margin-bottom: 6px;
}
.tp-quote{
  font-size: 1.05rem;
  line-height: 1.35;
  color: rgba(255,255,255,.92);
  font-weight: 600;
}

/* Small screens: keep the author badge from covering too much */
@media (max-width: 575.98px){
  .tp-media-stack{ min-height: 360px; }
  .tp-author-badge{ width: 150px; right: 12px; bottom: 12px; }
  .tp-author-photo{ height: 130px; }
}
.tp-title-main {
  color: var(--tp-accent);
  display: inline-block;
  /*border-bottom: 6px solid var(--tp-accent);*/
  padding-bottom: 6px;
}

