      :root {
       --primary-color: #1c155c;
       --secondary-color: #e8f1ff;
       --text-dark: #333;
       --text-muted: #666;
       /* Hand-drawn palette accents */
       --doodle-pink: #f7a8b8;
       --doodle-yellow: #ffd166;
       --doodle-blue: #86c8d2;
       --doodle-green: #a8e6cf;
       --doodle-orange: #f9a03f;
       --doodle-purple: #b197fc;
   }

   body {
       font-family: 'Rubik', sans-serif;
       background-color: #fdfdfd;
       color: var(--text-dark);
       /* subtle paper texture */
       background-image:
           radial-gradient(rgba(28, 21, 92, 0.035) 1px, transparent 1px);
       background-size: 22px 22px;
   }

   h1,
   h2,
   h3,
   h4,
   .fw-bold {
       font-family: 'Poppins', sans-serif;
       font-weight: 700;
   }

   section a {
    color: var(--secondary-cyan);
    border-bottom: 2px dashed var(--secondary-cyan);
   }

   section a:hover {
    transition: all .5s ease;
    border-bottom-style: solid;
   }

   /* Handwriting accent font */
   .handwriting {
       font-family: 'Caveat', cursive;
       font-weight: 700;
   }

   .header-top-row {
       padding-bottom: 20px;
   }

   .color-header {
       color: var(--primary-color) !important;
   }

   /* ===================== */
   /* DOODLE / HAND-DRAWN   */
   /* ===================== */

   .doodle-badge {
       position: relative;
       display: inline-block;
   }

   /* Squiggly highlight underline for section titles */
   .doodle-underline {
       display: inline-block;
       position: relative;
   }

   .doodle-underline svg {
       position: absolute;
       left: 0;
       right: 0;
       bottom: -14px;
       width: 100%;
       height: 18px;
       overflow: visible;
       pointer-events: none;
   }

   /* Hand-drawn irregular bordered card */
   .doodle-card {
       position: relative;
       border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;
       border: 2.5px solid var(--primary-color);
   }

   .doodle-star,
   .doodle-squiggle,
   .doodle-arrow,
   .doodle-circle {
       position: absolute;
       z-index: 5;
       pointer-events: none;
       line-height: 0;
   }

   .doodle-star svg,
   .doodle-squiggle svg,
   .doodle-arrow svg,
   .doodle-circle svg {
       width: 100%;
       height: 100%;
       display: block;
   }

   .doodle-star {
       color: var(--doodle-yellow);
       -webkit-animation: floaty 4s ease-in-out infinite;
       animation: floaty 4s ease-in-out infinite;
   }

   .doodle-arrow {
       -webkit-animation: wobble 5s ease-in-out infinite;
       animation: wobble 5s ease-in-out infinite;
   }

   .doodle-circle {
       -webkit-animation: spin-slow 12s linear infinite;
       animation: spin-slow 12s linear infinite;
   }

   /* Animations for doodles */
   @-webkit-keyframes floaty {
       0%, 100% { transform: translateY(0) rotate(-12deg); }
       50%     { transform: translateY(-10px) rotate(8deg); }
   }
   @keyframes floaty {
       0%, 100% { transform: translateY(0) rotate(-12deg); }
       50%     { transform: translateY(-10px) rotate(8deg); }
   }

   @-webkit-keyframes wobble {
       0%, 100% { transform: rotate(-6deg); }
       50%     { transform: rotate(6deg) translateY(-4px); }
   }
   @keyframes wobble {
       0%, 100% { transform: rotate(-6deg); }
       50%     { transform: rotate(6deg) translateY(-4px); }
   }

   @-webkit-keyframes spin-slow {
       from { transform: rotate(0deg); }
       to   { transform: rotate(360deg); }
   }
   @keyframes spin-slow {
       from { transform: rotate(0deg); }
       to   { transform: rotate(360deg); }
   }

   /* Carousel Customization */
   .carousel-item {
       height: 450px;
       background-size: cover;
       background-position: center;
       border-radius: 20px;
   }

   .carousel-caption-custom {
       position: absolute;
       bottom: 0;
       left: 0;
       right: 0;
       background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
       padding: 40px;
       color: white;
       border-bottom-left-radius: 20px;
       border-bottom-right-radius: 20px;
   }

      /* Sections */
   section {
       padding: 60px 0;
       border-bottom: 1px solid #f0f0f0;
       position: relative;
   }

   /* Speakers */
   .speaker-card {
       border: 1px solid #eee;
       border-radius: 20px;
       overflow: hidden;
       transition: 0.3s;
       background: white;
       height: 100%;
   }

   .speaker-card:hover {
       transform: translateY(-10px);
       box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
   }

   .speaker-img {
       width: 100%;
       height: 280px;
       object-fit: cover;
   }

   /* Events/Agenda */
   .tab-btn {
       padding: 10px 20px;
       border: none;
       background: #eee;
       font-weight: bold;
       border-radius: 8px;
       margin-right: 8px;
       margin-bottom: 8px;
       transition: 0.3s;
   }

      .tab-btn.active {
       background: var(--primary-color);
       color: white;
   }

   .tab-btn:hover {
       transform: rotate(-1.5deg) translateY(-2px);
       box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
   }

   .activity-card {
       background: white;
       border: 1px solid #ddd;
       padding: 20px;
       border-radius: 12px;
       cursor: pointer;
       transition: 0.3s;
       height: 100%;
       position: relative;
   }

   /* hand-drawn accent on activity cards */
   .activity-card::before {
       content: '';
       position: absolute;
       top: -6px;
       left: -6px;
       width: 18px;
       height: 18px;
       background: var(--doodle-yellow);
       border-radius: 50%;
       background-image: radial-gradient(circle at 35% 35%, #fff 18%, transparent 20%);
       opacity: 0.9;
   }

   .activity-card:hover {
       border-color: var(--primary-color);
       box-shadow: 0 8px 20px rgba(178, 0, 96, 0.15);
       transform: translateY(-4px) rotate(-0.5deg);
   }

   .time-tag {
       font-size: 0.85rem;
       color: var(--text-muted);
       display: block;
       margin-bottom: 8px;
   }

   .details-panel {
       display: none;
       background: white;
       border-left: 5px solid var(--primary-color);
       padding: 25px;
       border-radius: 12px;
       box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
       margin-top: 15px;
   }

   .details-panel.active {
       display: block;
   }

      /* Benefits Grid */
   .benefit-card {
       background: white;
       padding: 25px;
       border-radius: 15px;
       box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
       height: 100%;
       transition: 0.3s;
       position: relative;
       overflow: hidden;
       border: 2px dashed var(--primary-light);
   }

   .benefit-card:hover {
       transform: scale(1.02) rotate(-0.4deg);
   }

   /* Add playful hand-drawn bottom edge per card */
   #sobre > div > div:nth-child(1) .benefit-card { border-color: var(--doodle-purple); }

   /* Partner Logos */
   .partner-logo {
       max-height: 60px;
       filter: grayscale(100%);
       opacity: 0.7;
       transition: 0.3s;
   }

   .partner-logo:hover {
       filter: grayscale(0%);
       opacity: 1;
       transform: scale(1.05);
   }

   /* ===================== */
   /* EXTRA FLOATING DOODLE */
   /* Carousel Customization */
   .carousel-item {
       height: 450px;
       background-size: cover;
       background-position: center;
       border-radius: 20px;
   }

   .carousel-caption-custom {
       position: absolute;
       bottom: 0;
       left: 0;
       right: 0;
       background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
       padding: 40px;
       color: white;
       border-bottom-left-radius: 20px;
       border-bottom-right-radius: 20px;
   }

   .float-corner {
       position: fixed;
       z-index: 10;
       pointer-events: none;
       opacity: 0.12;
       line-height: 0;
   }