:root {
    --brand-primary: #EAA03C;  /* Logo Gold */
    --brand-secondary: #1C2346; /* Logo Navy */
    --brand-accent: #3B82F6;    /* Accent Blue */
    --bg-dark: #f8fafc;         /* Light Background */
    --bg-card: rgba(255, 255, 255, 0.9); /* White Cards */
    --text-primary: #0f172a;
    --text-secondary: #475569;
    
    --teal: #EAA03C;       /* Brand Gold */
    --teal-dark: #C58325;  /* Darker Gold */
    --amber: #1C2346;      /* Brand Navy */
    --slate: #64748B;
    --ink: #0f172a;
    --line: rgba(0,0,0,0.08);
    --paper:#ffffff;
    --paper-alt:#f1f5f9;
    --surface: #ffffff;
    --white:#ffffff;
    /* Warm Brand Colors around #EAA03C */
    --gold-primary: #EAA03C;
    --gold-light: #FBBF24;
    --gold-dark: #D97706;
    --orange-accent: #EA580C;
    --rust-accent: #B45309;
    --blue-gradient: linear-gradient(135deg, #EAA03C, #D97706);
    --purple-gradient: linear-gradient(135deg, #FBBF24, #EA580C);
    --gold-gradient: linear-gradient(135deg, #FBBF24, #EAA03C, #D97706);
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    line-height:1.6;
    overflow-x:hidden;
  }
  
  ::selection{ background:var(--teal); color:#fff; }

  /* Keyframe Animations */
  @keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
  }
  @keyframes float-delayed {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
  }
  @keyframes gradient-pan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  @keyframes subtle-glow {
    0%, 100% { box-shadow: 0 0 15px rgba(234, 160, 60, 0.1); }
    50% { box-shadow: 0 0 35px rgba(234, 160, 60, 0.3); }
  }

  h1,h2,h3,.display-font{
    font-family:'Inter',sans-serif;
    font-weight: 700;
    color:var(--ink);
    letter-spacing:-0.02em;
  }
  
  .gradient-text {
    background: linear-gradient(135deg, var(--teal), var(--gold-primary), var(--gold-dark));
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-pan 5s ease infinite;
  }
  .mono{
    font-family:'IBM Plex Mono',monospace;
  }
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--teal);
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
  .eyebrow::before{
    content:"";
    width:22px;
    height:1px;
    background:var(--teal);
    display:inline-block;
  }
  p{ color:var(--slate); }
  a{ text-decoration:none; }

  /* respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  }

  /* ---------- NAVBAR ---------- */
  .navbar-custom{
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
    transition: box-shadow .3s ease, background .3s ease;
  }
  .navbar-custom.scrolled{
    box-shadow: 0 6px 24px rgba(0,0,0,.08);
  }
  .navbar-custom .nav-link{
    color:var(--ink);
    font-weight:500;
    font-size:.95rem;
    margin:0 .6rem;
    position:relative;
  }
  .navbar-custom .nav-link::after{
    content:"";
    position:absolute; left:0; bottom:-2px;
    width:0; height:2px; background:var(--amber);
    transition:width .25s ease;
  }
  .navbar-custom .nav-link:hover::after{ width:100%; }
  .navbar-custom img.brand-logo{ height:60px; border-radius:8px; }

  .btn-brand{
    background: linear-gradient(135deg, var(--teal), var(--gold-primary), var(--gold-dark));
    background-size: 200% 200%;
    color:#fff;
    border:none;
    font-weight:600;
    padding:.75rem 2rem;
    border-radius:30px;
    font-size:1rem;
    transition:all .3s ease;
    animation: gradient-pan 5s ease infinite;
    box-shadow: 0 4px 15px rgba(234, 160, 60, 0.3);
  }
  .btn-brand:hover{
    transform: translateY(-2px);
    box-shadow:0 8px 24px rgba(217, 119, 6, 0.4);
    color: #fff;
  }
  .btn-outline-brand{
    border:1px solid var(--line);
    color:var(--ink);
    background:transparent;
    font-weight:600;
    padding:.75rem 1.75rem;
    border-radius:30px;
    font-size:1rem;
    transition:all .3s ease;
  }
  .btn-outline-brand:hover{
    background:rgba(255,255,255,0.05);
    border-color:var(--teal);
    color:var(--teal);
    box-shadow: 0 8px 24px rgba(234, 160, 60, 0.2);
    transform: translateY(-2px);
  }

  /* ---------- HERO ---------- */
  .hero{
    padding:0;
    position:relative;
  }
  .hero h1{
    font-size:clamp(2.4rem,5vw,3.9rem);
    font-weight:600;
    line-height:1.08;
  }
  .hero h1 em{
    font-style:italic;
    font-weight:500;
    background: linear-gradient(-45deg, var(--teal), #60a5fa);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-pan 4s ease infinite;
  }
  .hero-lead{
    font-size:1.12rem;
    max-width:560px;
  }
  .who-list{
    list-style:none; padding:0; margin:0;
    display:flex; flex-wrap:wrap; gap:.5rem 0;
  }
  .who-list li{
    font-size:.86rem;
    color:var(--slate);
    padding:.3rem 0;
    width:100%;
    display:flex; align-items:center; gap:.55rem;
  }
  .who-list li i{ color:var(--amber); font-size:.7rem; }

  /* Signature pulse element */
  .pulse-wrap{
    position:relative;
    width:100%;
    height:340px;
  }
  .pulse-card{
    position:absolute; inset:0;
    background:var(--ink);
    border-radius:16px;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .pulse-card svg{ width:100%; height:100%; }
  .pulse-path{
    fill:none;
    stroke:var(--teal);
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-dasharray:1400;
    stroke-dashoffset:1400;
    animation:draw-pulse 2.6s ease-out forwards, glow-pulse 3.4s ease-in-out 2.6s infinite;
  }
  .pulse-dot{
    fill:var(--amber);
    opacity:0;
    animation:dot-appear .4s ease forwards 2.5s, dot-pulse 1.8s ease-in-out 2.9s infinite;
  }
  .pulse-grid line{ stroke:rgba(0,0,0,.05); stroke-width:1; }
  .pulse-caption{
    position:absolute; left:20px; bottom:16px;
    font-family:'IBM Plex Mono',monospace;
    font-size:.72rem;
    color:rgba(255,255,255,.55);
    letter-spacing:.06em;
  }
  .pulse-caption .figure{ color:var(--amber); font-weight:500; }
  @keyframes draw-pulse{ to{ stroke-dashoffset:0; } }
  @keyframes glow-pulse{
    0%,100%{ filter:drop-shadow(0 0 0px rgba(27,122,110,0)); }
    50%{ filter:drop-shadow(0 0 6px rgba(27,122,110,.55)); }
  }
  @keyframes dot-appear{ to{ opacity:1; } }
  @keyframes dot-pulse{
    0%,100%{ r:4; opacity:1; }
    50%{ r:7; opacity:.55; }
  }

  /* ---------- HERO CAROUSEL ---------- */
  .hero-carousel{ overflow:hidden; position:relative; }
  .hero-carousel .carousel-item{
    min-height:1px;
    padding:0rem 0 10rem;
    background-size:cover;
    background-position:center;
  }
  .carousel-bg-overlay {
    position:absolute; inset:0;
    background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(253, 245, 233, 0.8) 100%);
    backdrop-filter: blur(8px);
    z-index:0;
  }
  .hero-carousel .carousel-item > .container {
    position:relative; z-index:1;
  }
  .hero-controls-wrapper {
    position:absolute; bottom:4rem; left:0; right:0; z-index:10;
  }
  .hero-carousel .carousel-item h1{
    font-size:clamp(2.2rem,4.6vw,3.7rem);
    font-weight:600;
    line-height:1.1;
  }
  .hero-carousel .carousel-item h1 em{ font-style:italic; font-weight:500; color:var(--teal); }

  .hero-indicators{
    position:static;
    display:flex;
    align-items:center;
    gap:.6rem;
    margin:0;
  }
  .hero-indicators [data-bs-target]{
    box-sizing:content-box;
    width:34px; height:2px;
    padding:0;
    background:var(--line);
    border:0;
    opacity:1;
    text-indent:-9999px;
    transition:background .3s ease;
    position:relative;
  }
  .hero-indicators [data-bs-target].active{ background:var(--teal); }
  .hero-indicators [data-bs-target]::after{
    content:"";
    position:absolute; left:0; top:-9px; right:0; bottom:-9px; /* larger tap target */
  }

  .hero-arrows{ display:flex; gap:.6rem; margin:0; }
  .hero-arrow-btn{
    width:42px; height:42px;
    border-radius:50%;
    border:1px solid var(--line);
    background:transparent;
    color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    transition:all .25s ease;
  }
  .hero-arrow-btn:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

  /* shared dark visual card used across hero slides */
  .visual-card{
    position:absolute; inset:0;
    background:var(--surface);
    border: 1px solid rgba(234, 160, 60, 0.2);
    border-radius:24px;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 25px 50px rgba(0,0,0,0.08), 0 0 40px rgba(234, 160, 60, 0.1);
    transform: perspective(1000px) rotateY(-5deg) translateY(-5px);
    transition: all 0.5s ease;
  }
  .pulse-wrap:hover .visual-card {
    transform: perspective(1000px) rotateY(0deg) translateY(-10px);
    box-shadow: 0 35px 60px rgba(0,0,0,0.12), 0 0 60px rgba(234, 160, 60, 0.15);
  }
  .visual-card svg{ width:100%; height:100%; }

  /* slide 2: bar chart */
  .bar-rect{
    fill:var(--teal);
    transform-box:fill-box;
    transform-origin:bottom;
    transform:scaleY(0);
    animation:grow-bar .9s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .bar-rect.amber{ fill:var(--amber); }
  @keyframes grow-bar{ to{ transform:scaleY(1); } }
  .bar-label{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    fill:rgba(255,255,255,.5);
  }

  /* slide 3: icon grid */
  .grid-tile{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    color:var(--amber);
    font-size:1.5rem;
    opacity:0;
    transform:translateY(14px);
    animation:tile-in .6s ease forwards;
  }
  .grid-tile:nth-child(1){ animation-delay:.1s; }
  .grid-tile:nth-child(2){ animation-delay:.25s; }
  .grid-tile:nth-child(3){ animation-delay:.4s; }
  .grid-tile:nth-child(4){ animation-delay:.55s; }
  @keyframes tile-in{ to{ opacity:1; transform:none; } }
  .grid-visual{
    position:absolute; inset:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:28px;
  }

  @media (max-width:991.98px){
    .hero-indicators, .hero-arrows{ margin-top:1.8rem; }
  }

  /* ---------- SECTION SPACING ---------- */
  section{ padding:5rem 0; position:relative; z-index:1; }
  .section-alt{ background:var(--paper-alt); }
  .section-head{ max-width:660px; margin-bottom:3rem; }
  .section-head h2{ font-size:clamp(1.8rem,3.2vw,2.6rem); font-weight:600; margin-top:.6rem; }

  /* reveal on scroll handled by GSAP now */

  /* ---------- ABOUT US ---------- */
  .about-visual-card{
    background: linear-gradient(135deg, rgba(234, 160, 60, 0.05), rgba(217, 119, 6, 0.05));
    backdrop-filter: blur(20px);
    border: 1px solid rgba(217, 119, 6, 0.2);
    border-radius: 32px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(217, 119, 6, 0.15);
    animation: float-delayed 8s ease-in-out infinite;
    transition: all 0.4s ease;
  }
  .about-visual-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 60px rgba(217, 119, 6, 0.25);
    border-color: rgba(217, 119, 6, 0.4);
  }
  .about-visual-card::before{
    content:"";
    position:absolute; top:-50%; left:-50%;
    width:200%; height:200%;
    background: radial-gradient(circle at center, rgba(234, 160, 60, 0.08) 0%, transparent 50%);
    animation: spin-slow 15s linear infinite;
    z-index: 0;
  }
  @keyframes spin-slow {
    100% { transform: rotate(360deg); }
  }
  .about-visual-card .visual-content {
    position: relative;
    z-index: 1;
  }
  .fs-sm { font-size: 0.85rem; }
  .tracking-wider { letter-spacing: 0.05em; }
  .text-white { color: var(--ink) !important; }
  .text-teal { color: var(--teal) !important; }

  /* ---------- WHY LIST ---------- */
  .why-list-container {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  .why-list-item {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 1.5rem 1.75rem;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.03);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
  }
  .why-list-item::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: linear-gradient(to bottom, var(--teal), var(--amber));
    opacity: 0;
    transition: opacity 0.4s ease;
  }
  .why-list-item:hover {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    transform: translateX(6px);
    border-color: rgba(0, 0, 0, 0.08);
  }
  .why-list-item:hover::before {
    opacity: 1;
  }
  .why-number {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 2.2rem;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.08);
    line-height: 1;
    transition: color 0.4s ease;
  }
  .why-list-item:hover .why-number {
    color: var(--teal);
    text-shadow: 0 0 15px rgba(234, 160, 60, 0.4);
  }
  .why-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #a56917;
  }
  .why-content p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--slate);
    line-height: 1.6;
  }
  
  /* Pulse Ring for sticky sidebar */
  .pulse-ring {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(234, 160, 60, 0.1);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .pulse-ring::after {
    content: '';
    position: absolute;
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px solid var(--teal);
    animation: pulse-ring-anim 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
  }
  .pulse-ring::before {
    content: '';
    width: 12px; height: 12px;
    background: var(--teal);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--teal);
  }
  @keyframes pulse-ring-anim {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(2.4); opacity: 0; }
  }

  /* ---------- SERVICES ---------- */
  .service-card{
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius:24px;
    padding:2.5rem 2rem;
    height:100%;
    position:relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition:all .4s ease;
    overflow: hidden;
    z-index: 1;
  }
  .col-lg-3:nth-child(even) .service-card { animation-delay: 2s; }
  
  .service-card:hover{
    transform:translateY(-10px);
    box-shadow: 0 20px 40px rgba(234, 160, 60, 0.15);
    border-color: rgba(234, 160, 60, 0.3);
  }
  .service-card::before{
    content:"";
    position:absolute; left:0; top:0; right:0;
    height:4px;
    background: linear-gradient(90deg, var(--gold-primary), var(--gold-dark), var(--orange-accent));
    background-size: 200% 200%;
    transform:scaleX(0); transform-origin:left;
    transition:transform .5s ease;
  }
  .service-card:hover::before{ 
    transform:scaleX(1); 
    animation: gradient-pan 3s linear infinite;
  }
  .service-icon{
    width:64px; height:64px;
    border-radius:18px;
    background: linear-gradient(135deg, rgba(6,182,212,0.1), rgba(139,92,246,0.1));
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem; margin-bottom:1.5rem;
    color: var(--gold-primary);
    transition: all 0.4s ease;
  }
  .service-card:hover .service-icon {
    transform: rotate(10deg) scale(1.1);
    background: linear-gradient(135deg, var(--gold-primary), var(--gold-dark));
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(139,92,246,0.3);
  }
  .service-card h3{ font-size:1.2rem; font-weight:700; margin-bottom:.5rem; color:var(--ink); }
  .service-card p{ font-size:.95rem; margin:0; color:var(--slate); line-height:1.6; }

  /* Bento Layout Styles */
  .bento-large {
    padding: 3rem 4rem;
  }
  .bento-large h3 {
    font-size: 2.2rem;
  }
  .bento-bg-icon {
    position: absolute;
    bottom: -10%;
    right: -5%;
    font-size: 14rem;
    opacity: 0.03;
    transform: rotate(-15deg);
    transition: transform 0.6s ease, opacity 0.6s ease;
    z-index: 0;
  }
  .bento-large:hover .bento-bg-icon {
    transform: rotate(0) scale(1.1);
    opacity: 0.06;
  }
  .bento-large > div {
    position: relative;
    z-index: 1;
  }
  .bento-accent {
    background: var(--blue-gradient);
    color: #fff;
    border: none;
    box-shadow: 0 15px 35px rgba(59, 130, 246, 0.3);
  }
  .bento-accent h3, .bento-accent p {
    color: #fff;
  }
  .bento-accent .service-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
  }
  .bento-accent:hover .service-icon {
    background: #fff;
    color: #3b82f6;
  }

  /* ---------- STATS ---------- */
  .stat-card {
    background: #ffffff;
    border: 1px solid rgba(234, 160, 60, 0.15);
    border-radius: 20px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    transition: all 0.4s ease;
    height: 100%;
  }
  .stat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(234, 160, 60, 0.15);
    border-color: rgba(234, 160, 60, 0.3);
  }
  .stat-num {
    font-family: 'IBM Plex Mono', monospace;
    font-size: clamp(2.5rem, 4vw, 3.2rem);
    color: var(--gold-dark);
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.1;
  }
  .stat-label {
    font-size: 0.95rem;
    color: var(--slate);
    font-weight: 500;
    line-height: 1.4;
  }

  /* ---------- TEAM ---------- */
  .team-card{ text-align:center; }
  .avatar-ring{
    width:104px; height:104px;
    border-radius:50%;
    margin:0 auto 1.1rem;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(155deg,var(--teal),var(--ink));
    color:#fff;
    font-family:'Fraunces',serif;
    font-size:1.5rem;
    position:relative;
    transition:transform .35s ease;
  }
  .team-card:hover .avatar-ring{ transform:scale(1.06) rotate(-2deg); }
  .team-card h3{ font-size:1.05rem; font-weight:600; margin-bottom:.15rem; }
  .team-card .role{ font-size:.83rem; color:var(--teal); font-family:'IBM Plex Mono',monospace; }

  /* ---------- TESTIMONIALS ---------- */
  .testimonial-card{
    background:rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius:24px;
    padding:2.5rem 2rem;
    height:100%;
    position:relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition:all .4s ease;
    animation: float 7s ease-in-out infinite;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .col-lg-4:nth-child(2) .testimonial-card { animation-delay: 1.2s; }
  .col-lg-4:nth-child(3) .testimonial-card { animation-delay: 2.4s; }
  
  .testimonial-card:hover{
    /* transform:translateY(-8px) scale(1.02); */
    border-color: rgba(234, 160, 60, 0.3);
    box-shadow: 0 20px 40px rgba(234, 160, 60, 0.15);
    /* animation: subtle-glow 2s ease-in-out infinite; */
  }
  .quote-icon{
    font-size:2rem;
    color: var(--gold-primary);
    opacity:0.8;
    margin-bottom:1rem;
    display:block;
  }
  .testimonial-content p{
    font-size:1.05rem;
    color:var(--ink);
    font-style:italic;
    line-height:1.7;
    margin-bottom:0;
  }
  .testimonial-author{
    display:flex;
    align-items:center;
    gap:1rem;
    border-top:1px solid var(--line);
    padding-top:1.5rem;
  }
  .author-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    background: linear-gradient(135deg, var(--teal), var(--amber));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-family:'Inter',sans-serif;
  }
  .author-info h4{
    font-size:1rem;
    font-weight:600;
  }
  .author-info .role{
    font-size:.85rem;
    color:var(--slate);
  }

  /* ---------- FAQ ---------- */
  .accordion-item{
    background:rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border:1px solid rgba(0, 0, 0, 0.05);
    border-radius:16px !important;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: all .3s ease;
  }
  .accordion-item:hover {
    border-color: rgba(217, 119, 6, 0.3);
    box-shadow: 0 10px 30px rgba(217, 119, 6, 0.1);
    transform: translateY(-2px);
  }
  .accordion-button{
    background:transparent;
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:1.05rem;
    color:var(--ink);
    padding:1.25rem 1.5rem;
    box-shadow:none !important;
  }
  .accordion-button:not(.collapsed){ color:var(--gold-dark); background:rgba(217, 119, 6, 0.05); }
  .accordion-button::after{ filter:invert(1) opacity(0.4); }
  /* .accordion-button:not(.collapsed)::after{ filter:invert(0) opacity(1); } */
  .accordion-body{ padding:0 1.5rem 1.5rem; font-size:1rem; color:var(--slate); background:rgba(217, 119, 6, 0.02); }

  /* ---------- CTA ---------- */
  .cta-band{
    background: linear-gradient(-45deg, #FBBF24, #EAA03C, #D97706, #B45309);
    background-size: 400% 400%;
    color:#fff;
    padding:5rem 4rem;
    position:relative;
    overflow:hidden;
    animation: gradient-pan 12s ease infinite;
    border-radius: 32px;
    box-shadow: 0 20px 50px rgba(234, 160, 60, 0.3);
  }
  .cta-band h2{ color:#fff; }
  .cta-band::after{
    content:"";
    position:absolute; right:-60px; top:-60px;
    width:220px; height:220px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
  }
  .btn-cta{
    background:var(--teal);
    border:1px solid var(--teal);
    color:#fff;
    font-weight:600;
    padding:.85rem 2.25rem;
    border-radius:30px;
    font-size:1rem;
    transition:all .3s ease;
  }
  .btn-cta:hover{
    background:var(--teal-dark);
    color:#fff;
    box-shadow:0 8px 24px rgba(28, 35, 70,.35);
    transform: translateY(-2px);
  }

  /* ---------- FORM STYLES ---------- */
  .modal-content {
    border-radius: 24px;
    background: #ffffff !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
  }
  .form-card{
    background:rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    border:1px solid rgba(0, 0, 0, 0.05);
    border-radius:24px;
    padding:4rem 3rem;
    box-shadow: 0 15px 40px rgba(0,0,0,0.3);
    position: relative;
    z-index: 2;
  }
  .dark-form .form-label{
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
  }
  .dark-form .form-control{
    background: #f8fafc;
    border: 1px solid var(--brand-primary);
    color: #000;
    padding: 0.8rem 1.2rem;
    border-radius: 8px;
    transition: all 0.3s ease;
  }
  .dark-form .form-control:focus{
    background: #f1f5f9;
    border-color: var(--teal);
    box-shadow: 0 0 0 4px rgba(234, 160, 60,0.1);
    outline: none;
  }
  .dark-form .form-control::placeholder{
    color: #252424a7;
    font-size:.9rem;
  }

  /* ---------- ACCORDION STYLES ---------- */
  .dark-accordion .accordion-item {
    background-color: #eaa03b;
    border: 1px solid var(--line);
    margin-bottom: 1rem;
    border-radius: 8px !important;
    overflow: hidden;
  }
  .dark-accordion .accordion-button {
    background-color: var(--surface);
    color: #eaa03b;
    font-weight: 500;
    box-shadow: none;
    padding: 1.5rem;
  }
  .dark-accordion .accordion-button:not(.collapsed) {
    background-color: #f1f5f9;
    color: var(--teal);
  }
  /* .dark-accordion .accordion-button::after {
    filter: invert(1) grayscale(100%) brightness(200%);
  } */
  .dark-accordion .accordion-body {
    color: var(--slate);
    padding: 0 1.5rem 1.5rem 1.5rem;
    background-color: #f1f5f9;
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:#0b2036;
    color:rgba(255,255,255,.65);
    padding:4rem 0 2rem;
    font-size:.9rem;
    border-top: 1px solid var(--line);
  }
  footer h5{
    font-family:'IBM Plex Mono',monospace;
    font-size:.78rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:1.1rem;
  }
  footer a{ color:rgba(255,255,255,.65); }
  footer a:hover{ color:var(--bg-dark); }
  footer ul{ list-style:none; padding:0; }
  footer ul li{ margin-bottom:.6rem; }
  .footer-bottom{
    border-top:1px solid rgba(0,0,0,.1);
    margin-top:2.5rem; padding-top:1.5rem;
    font-size:.8rem;
    color:rgba(255,255,255,.4);
  }

  /* back to top */
  #backTop{
    position:fixed; right:22px; bottom:22px;
    width:44px; height:44px;
    background:var(--ink); color:#fff;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transform:translateY(10px);
    transition:all .3s ease;
    z-index:999;
  }
  #backTop.show{ opacity:1; visibility:visible; transform:none; }
  #backTop:hover{ background:var(--teal); }

  @media (max-width:991.98px){
    .hero-carousel .carousel-item{ padding-top:7.5rem; padding-bottom:8.5rem; }
    .hero-controls-wrapper { bottom:2rem; }
    .pulse-wrap{ height:240px; margin-top:2.5rem; }
  }

/* ---------- ADVANCED TEAM ORBIT ---------- */
.orbit-wrapper {
  position: relative;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3rem auto;
}
.orbit-center {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 15px 35px rgba(234, 160, 60, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 10;
  border: 4px solid rgba(234, 160, 60, 0.15);
  transition: all 0.5s ease;
}
.orbit-center-content { padding: 1.5rem; }
.orbit-center-content h4 { font-size: 1.25rem; font-weight: 700; color: var(--ink); margin: 0; line-height: 1.2; }
.orbit-center-content .eyebrow { font-size: 0.75rem; letter-spacing: 0.1em; color: var(--gold-dark); margin-bottom: 0.5rem; }

.orbit-track {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px dashed rgba(234, 160, 60, 0.4);
  border-radius: 50%;
  animation: spin-orbit 25s linear infinite;
}
.orbit-wrapper:hover .orbit-track,
.orbit-wrapper:hover .orbit-item-inner {
  animation-play-state: paused;
}

.orbit-item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  margin-top: -60px;
  margin-left: -60px;
  transform: rotate(var(--angle)) translateX(250px) rotate(calc(-1 * var(--angle)));
}
.orbit-item-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: counter-spin 25s linear infinite;
  position: relative;
}

.orbit-avatar {
  width: 120px;
  height: 140px;
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
  background: #f8fafc;
}
.orbit-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.orbit-item-inner:hover .orbit-avatar {
  transform: scale(1.2);
  border-color: var(--gold-primary);
  box-shadow: 0 15px 35px rgba(234, 160, 60, 0.3);
}

.orbit-info {
  position: absolute;
  top: 100px;
  background: #fff;
  padding: 12px 18px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  transform: translateY(15px);
  width: max-content;
  z-index: 20;
  border: 1px solid rgba(234, 160, 60, 0.1);
}
.orbit-item-inner:hover .orbit-info {
  opacity: 1;
  transform: translateY(0);
}
.orbit-info h5 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.2rem 0;
  color: var(--ink);
}
.orbit-info span {
  font-size: 0.85rem;
  color: var(--gold-dark);
  font-weight: 600;
}
.orbit-info p {
  margin: 0.5rem 0 0 0;
  font-size: 0.8rem;
  color: var(--slate);
  max-width: 200px;
  white-space: normal;
}

@keyframes spin-orbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes counter-spin {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

@media (max-width: 768px) {
  .orbit-wrapper { width: 320px; height: 320px; margin: 2rem auto; }
  .orbit-item { transform: rotate(var(--angle)) translateX(160px) rotate(calc(-1 * var(--angle))); }
  .orbit-center { width: 140px; height: 140px; }
  .orbit-center-content h4 { font-size: 1rem; }
  .orbit-avatar { width: 70px; height: 70px; }
  .orbit-info { top: 80px; }
}
