@media (max-width: 600px) {
  .infoContainer .btn {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .heroSection .infoContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .heroSection .infoContainer .heading,
  .heroSection .infoContainer .subHeading,
  .heroSection .infoContainer .desc {
    text-align: center;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
:root {
  --liquid-bg-color: #e5e5ea;
  --liquid-blob-1: #ff2a5f;
  --liquid-blob-2: #007aff;
  --liquid-blob-3: #ff9500;
  --liquid-blob-opacity: 0.7;
  --liquid-blob-1-soft: rgba(255, 42, 95, 0.7);
  --liquid-blob-2-soft: rgba(0, 122, 255, 0.7);
  --liquid-blob-3-soft: rgba(255, 149, 0, 0.7);
  --liquid-hero-mesh-image:
    radial-gradient(50vw 50vw at -10% -10%, var(--liquid-blob-1-soft), transparent 62%),
    radial-gradient(45vw 45vw at 110% 110%, var(--liquid-blob-2-soft), transparent 64%),
    radial-gradient(35vw 35vw at 40% 30%, var(--liquid-blob-3-soft), transparent 62%);
  --hero-bg-color: #c9d4e6;
  --hero-mesh-image:
    radial-gradient(78vw 74vw at -3% 10%, rgba(255, 42, 95, 0.72) 0 28%, rgba(255, 42, 95, 0.46) 46%, transparent 66%),
    radial-gradient(78vw 74vw at 103% 10%, rgba(0, 122, 255, 0.7) 0 30%, rgba(0, 122, 255, 0.48) 48%, transparent 67%),
    radial-gradient(66vw 58vw at 50% 88%, rgba(255, 149, 0, 0.58) 0 30%, rgba(255, 149, 0, 0.38) 50%, transparent 68%),
    radial-gradient(42vw 38vw at 48% 38%, rgba(91, 255, 137, 0.32) 0 28%, transparent 62%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.03), rgba(155, 182, 229, 0.18));
}

body.night-theme,
.night-theme {
  --liquid-bg-color: #000000;
  --liquid-blob-1: #bf5af2;
  --liquid-blob-2: #0a84ff;
  --liquid-blob-3: #ff375f;
  --liquid-blob-opacity: 0.5;
  --liquid-blob-1-soft: rgba(191, 90, 242, 0.62);
  --liquid-blob-2-soft: rgba(10, 132, 255, 0.64);
  --liquid-blob-3-soft: rgba(255, 55, 95, 0.5);
  --liquid-hero-mesh-image:
    radial-gradient(72vw 82vw at 8% 58%, var(--liquid-blob-1-soft), transparent 72%),
    radial-gradient(74vw 76vw at 94% 42%, var(--liquid-blob-2-soft), transparent 74%),
    radial-gradient(58vw 58vw at 52% 84%, var(--liquid-blob-3-soft), transparent 70%);
  --hero-bg-color: #01030a;
  --hero-mesh-image:
    radial-gradient(76vw 82vw at 8% 56%, rgba(191, 90, 242, 0.78) 0 30%, rgba(191, 90, 242, 0.5) 50%, transparent 70%),
    radial-gradient(78vw 78vw at 94% 38%, rgba(10, 132, 255, 0.76) 0 30%, rgba(10, 132, 255, 0.5) 50%, transparent 71%),
    radial-gradient(58vw 58vw at 54% 84%, rgba(255, 55, 95, 0.6) 0 28%, rgba(255, 55, 95, 0.38) 50%, transparent 70%),
    radial-gradient(44vw 40vw at 48% 20%, rgba(91, 255, 137, 0.24) 0 26%, transparent 64%);
}

.star {
  transform-style: preserve-3d;
  width: 1px;
  height: 1px;
  position: absolute;
  color: red;
  pointer-events: none;
}
.star:before {
  position: absolute;
  content: '\2726';
  color: inherit;
  inset: 0;
  text-shadow: 0 0 1em #fff5;
}

.night-theme {
  font-family: "Be Vietnam Pro", sans-serif !important;
  color: #F9F6EF !important;
  background-image: radial-gradient(circle at 50% 50%, #2f3040, #1f2020) !important;
}

/* Night theme - Project sections */
.night-theme .projectSection {
  background: linear-gradient(180deg, #181818 0%, #1f1f1f 50%, #181818 100%);
}

.night-theme .projectTitle {
  color: rgba(255, 255, 255, 0.15);
}

.night-theme .projectHeading {
  color: #f0f0f0;
}

.night-theme .projectSubHeading {
  color: #bbb;
}

.night-theme .projectCard {
  background-color: #222;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.night-theme .projectCard:hover {
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
}

.night-theme .projectNumber {
  color: #fff;
}

.night-theme .icon {
  color: #ccc;
}

.night-theme .icon:hover {
  color: #e84949;
}

.night-theme .fadedText {
  color: rgba(255, 255, 255, 0.08);
}

/* Water text SVG theme fills */
.water-base-fill { fill: #b0c4d8; }
.night-theme .water-base-fill { fill: #3a5f7a; }

body,
#wrapper,
header,
.pb-carousel-section,
#companiesCollaboration,
.skillContainer,
.servicesSection,
footer,
.glass-nav .glass-overlay,
.projectTitle,
.projectHeading,
.projectSubHeading,
.cc-intro,
.skillHeading,
.skillSubHeading p,
.serviceTitle,
.serviceCard,
.serviceCard h3,
.serviceCard p {
  transition:
    background 0.45s ease,
    background-color 0.45s ease,
    color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  body,
  #wrapper,
  header,
  .pb-carousel-section,
  #companiesCollaboration,
  .skillContainer,
  .servicesSection,
  footer,
  .glass-nav .glass-overlay,
  .projectTitle,
  .projectHeading,
  .projectSubHeading,
  .cc-intro,
  .skillHeading,
  .skillSubHeading p,
  .serviceTitle,
  .serviceCard,
  .serviceCard h3,
  .serviceCard p {
    transition-duration: 0.01ms;
  }
}

.chooser {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5em;
  margin-bottom: 1em;
}
.chooser label {
  text-align: center;
  transition: .4s ease;
  border: 1px solid #AEE1CD20;
  padding: .5em 1em;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
}
.chooser input[type='radio'] {
  display: none;
}
.chooser input[type='radio']:checked + label {
  color: #FFE681;
  border: 1px inset #AEE1CD90;
}
.chooser input[type='radio']:not(:checked) + label:hover {
  color: #D1CDDA;
  box-shadow: inset 1px 1px #F9F6EF40;
  background-color: #1f202050;
}
.chooser input[type='radio']:not(:checked) + label:active {
  box-shadow: inset -1px -1px #F9F6EF40;
}
:root {
  /*  change this for scaling  */
  --m: 4rem;

  --red: #FF6565;
  --pink: #FF64F9;
  --purple: #6B5FFF;
  --blue: #4D8AFF;
  --green: #5BFF89;
  --yellow: #FFEE55;
  --orange: #FF6D1B;
}

.get-started-btn-container {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.getStartedBtn {
  border: calc(0.04 * var(--m)) solid transparent;
  position: relative;
  color: #F3F3F3;
  font-family: 'Space Grotesk', 'Be Vietnam Pro', sans-serif;
  font-size: calc(0.5 * var(--m));
  border-radius: calc(0.35 * var(--m));
  padding: calc(0.25 * var(--m)) calc(0.5 * var(--m));
  display: flex;
  justify-content: center;
  cursor: pointer;
  background:linear-gradient(#121213, #121213), linear-gradient(#121213 50%, rgba(18, 18, 19, 0.6) 80%, rgba(18, 18, 19, 0)),  linear-gradient(90deg, var(--orange), var(--yellow), var(--green), var(--blue), var(--purple), var(--pink), var(--red));
  background-origin: border-box;
  background-clip: padding-box, border-box, border-box;
  background-size: 200%;
  animation: animate 2s infinite linear;
  margin-top: 1.5rem;
  z-index: 1;
}

.getStartedBtn::before {
  content: '';
  background: linear-gradient(90deg, var(--orange), var(--yellow), var(--green), var(--blue), var(--purple), var(--pink), var(--red));
  height: 30%;
  width: 60%;
  position: absolute;
  bottom: -20%;
  z-index: -5;
  background-size: 200%;
  animation: animate 2s infinite linear;
  filter: blur(calc(0.8 * var(--m)));
}

.getStartedBtn:hover, .getStartedBtn:hover::before {
  animation: animate 0.5s infinite linear;
}

@keyframes animate {
  0% {background-position: 0}
  100% {background-position: 200%}
}

@media screen and (max-width: 1000px) {
  :root {
    --m: 2rem;
  }
}
.nav-icon-img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: grayscale(0.2) brightness(0.95);
  transition: filter 0.3s, transform 0.3s;
  vertical-align: middle;
}
.nav-icon-img:hover, .nav-icon-img:focus {
  box-shadow: 0 0 6px 2px #fff;
  filter: brightness(1.1);
}
.nav-icon-img:hover {
  filter: grayscale(0) brightness(1.1) drop-shadow(0 0 2px #e84949);
  transform: scale(1.1);
}
/* ============================================
   Loading Screen
   ============================================ */
.loader-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1a1a2e;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.loader-screen.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-content {
  text-align: center;
}

.loader-code-text {
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 1.2rem;
  color: #e84949;
  margin-bottom: 2rem;
  text-align: left;
  display: inline-block;
}

.loader-code-line {
  display: block;
  margin: 0.5rem 0;
  opacity: 0;
  transform: translateY(20px);
  animation: loaderFadeInUp 0.5s ease forwards;
  white-space: pre;
}

.loader-code-line[data-line="1"] { animation-delay: 0.1s; color: #4e45d5; }
.loader-code-line[data-line="2"] { animation-delay: 0.3s; color: #e84949; }
.loader-code-line[data-line="3"] { animation-delay: 0.5s; color: #5BFF89; }
.loader-code-line[data-line="4"] { animation-delay: 0.7s; color: #4e45d5; }

@keyframes loaderFadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.loader-spinner-wrapper {
  margin: 2rem 0;
}

.loader-spinner {
  width: 50px;
  height: 50px;
  border: 3px solid #343d68;
  border-top-color: #e84949;
  border-right-color: #4e45d5;
  border-radius: 50%;
  animation: loaderSpin 1s linear infinite;
  margin: 0 auto;
}

@keyframes loaderSpin {
  to { transform: rotate(360deg); }
}

.loader-progress-wrapper {
  width: 200px;
  height: 4px;
  background: #343d68;
  border-radius: 2px;
  margin: 2rem auto;
  overflow: hidden;
}

.loader-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #e84949, #4e45d5, #5BFF89);
  width: 0%;
  border-radius: 2px;
  transition: width 0.1s ease;
  box-shadow: 0 0 10px #e84949;
}

.loader-percentage {
  font-family: 'Fira Code', 'Courier New', monospace;
  color: #e84949;
  font-size: 1rem;
  margin-top: 1rem;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Be Vietnam Pro", sans-serif;
}

html,
body,
button,
input,
textarea,
select {
  font-family: "Be Vietnam Pro", Arial, sans-serif;
}

#wrapper {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  background-color: var(--liquid-bg-color);
  background-image: var(--liquid-hero-mesh-image);
  /* Removed background-attachment:fixed - it disables GPU compositing and
     forces a full repaint on every scroll frame, causing the freeze */
  will-change: scroll-position;
}

/* Header Start  */

header {
  width: 100%;
  display: flex;
  padding: 10px 30px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  background: transparent;
}

body.night-theme header,
.night-theme header {
  background: transparent;
}

header .logo {
  display: flex;
  align-items: center;
}

.logo-home-link {
  display: inline-flex;
  align-items: center;
  border-radius: 50%;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.logo-home-link:focus-visible {
  outline: 2px solid #4e45d5;
  outline-offset: 4px;
}

.header-logo-img {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  object-fit: cover;
  opacity: 0;
  transform: scale(0.3) rotate(-180deg);
  animation: logoReveal 0.8s cubic-bezier(.1,.7,0,1) 2s forwards;
  box-shadow: 0 0 0 2px #e84949, 0 0 12px rgba(232, 73, 73, 0.3);
}

@keyframes logoReveal {
  0% {
    opacity: 0;
    transform: scale(0.3) rotate(-180deg);
    box-shadow: 0 0 0 2px #e84949, 0 0 0px rgba(232, 73, 73, 0);
  }
  60% {
    opacity: 1;
    transform: scale(1.15) rotate(15deg);
    box-shadow: 0 0 0 3px #4e45d5, 0 0 20px rgba(78, 69, 213, 0.5);
  }
  80% {
    transform: scale(0.95) rotate(-5deg);
    box-shadow: 0 0 0 2px #5BFF89, 0 0 15px rgba(91, 255, 137, 0.3);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    box-shadow: 0 0 0 2px #e84949, 0 0 12px rgba(232, 73, 73, 0.3);
  }
}

nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Apple-style liquid glass navigation */
.glass-nav {
  --nav-glass-bg: rgba(255, 255, 255, 0.15);
  --nav-glass-border: rgba(255, 255, 255, 0.4);
  --nav-glass-shadow: rgba(0, 0, 0, 0.1);
  --nav-glass-highlight: rgba(255, 255, 255, 0.8);
  --nav-glass-caustic: rgba(255, 255, 255, 0.4);
  --nav-reflection-start: rgba(255, 255, 255, 0.6);
  --nav-reflection-end: rgba(255, 255, 255, 0);
  --nav-glare-color: rgba(255, 255, 255, 0.5);
  --nav-pill-bg: rgba(255, 255, 255, 0.7);
  --nav-pill-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.05), inset 0 1px 1px rgba(255, 255, 255, 0.8);
  --nav-icon-color: rgba(0, 0, 0, 0.5);
  --nav-active-color: rgba(0, 0, 0, 0.95);
  --nav-divider: rgba(0, 0, 0, 0.15);
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 99px;
  overflow: hidden;
  padding: 8px;
  background: var(--nav-glass-bg);
  box-shadow:
    0 40px 80px -20px var(--nav-glass-shadow),
    0 10px 30px -10px var(--nav-glass-shadow),
    inset 0 2px 3px -1px var(--nav-glass-highlight),
    inset 0 -2px 4px -1px var(--nav-glass-caustic),
    inset 0 0 0 1px var(--nav-glass-border);
  /* Reduced from blur(50px) to blur(20px) — 50px forces a huge GPU surface
     on every frame which stalls compositing on new laptops */
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  /* Never use transition:all — it triggers recalc on every CSS property change */
  transition: box-shadow 0.5s ease, background 0.5s ease;
  isolation: isolate;
  z-index: 10;
  /* Promotes nav to its own GPU layer so scroll doesn't repaint it */
  will-change: transform;
}

.glass-nav:hover {
  box-shadow:
    0 40px 80px -20px var(--nav-glass-shadow),
    0 10px 30px -10px var(--nav-glass-shadow),
    inset 0 2px 3px -1px var(--nav-glass-highlight),
    inset 0 -2px 4px -1px var(--nav-glass-caustic),
    inset 0 0 0 1px var(--nav-glass-border);
}

.glass-nav .glass-filter,
.glass-nav .glass-overlay,
.glass-nav .glass-specular,
.glass-nav .glass-glare-wrap {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  display: block;
}

.glass-nav .glass-filter {
  display: none;
}

.glass-nav .glass-overlay {
  z-index: 1;
  background: var(--nav-glass-bg);
}

.glass-nav .glass-specular {
  display: none;
}

.glass-nav::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  height: 46%;
  border-radius: 99px 99px 24px 24px / 99px 99px 12px 12px;
  background: linear-gradient(180deg, var(--nav-reflection-start) 0%, var(--nav-reflection-end) 100%);
  pointer-events: none;
  z-index: 6;
  transition: background 0.5s ease;
}

.glass-nav .glass-glare-wrap {
  z-index: 5;
  overflow: hidden;
}

.glass-glare {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle 90px at var(--x, 50%) var(--y, 50%), var(--nav-glare-color), transparent 100%);
  mix-blend-mode: overlay;
  transition: opacity 0.3s ease;
}

.glass-nav:hover .glass-glare {
  opacity: 1;
}

.nav-links {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
}

.nav-links li {
  list-style-type: none;
  position: relative;
  z-index: 2;
}

.nav-active-pill {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 44px;
  border-radius: 999px;
  background: var(--nav-pill-bg);
  box-shadow: var(--nav-pill-shadow);
  opacity: 0;
  transform: translateX(0);
  transition:
    transform 0.52s cubic-bezier(0.34, 1.2, 0.64, 1),
    width 0.52s cubic-bezier(0.34, 1.2, 0.64, 1),
    opacity 0.25s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
  z-index: 1;
}

.nav-links li a {
  position: relative;
  text-decoration: none;
  color: var(--nav-icon-color);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  height: 44px;
  padding: 0 20px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.3s ease, transform 0.2s cubic-bezier(0.32, 0.72, 0, 1);
  text-shadow: none;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  z-index: 2;
}

.nav-links li a i {
  width: 18px;
  min-width: 18px;
  font-size: 17px;
  text-align: center;
  line-height: 1;
}

.nav-links li a:hover {
  color: var(--nav-active-color);
}

.nav-links li a:active {
  transform: scale(0.93);
}

.nav-links li a.is-active {
  color: var(--nav-active-color);
}

.nav-divider {
  position: relative;
  z-index: 3;
  width: 1px;
  height: 24px;
  margin: 0 4px;
  background: var(--nav-divider);
  transition: background 0.5s ease;
}

.nav-theme-btn {
  position: relative;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--nav-icon-color);
  background: transparent;
  cursor: pointer;
  transition: color 0.25s ease, transform 0.2s cubic-bezier(0.32, 0.72, 0, 1);
  -webkit-tap-highlight-color: transparent;
  margin-left: 2px;
}

.nav-theme-btn:hover {
  color: var(--nav-active-color);
}

.nav-theme-btn:active {
  transform: scale(0.88);
}

.nav-theme-btn i {
  grid-area: 1 / 1;
  font-size: 20px;
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.nav-theme-moon {
  opacity: 0;
  transform: rotate(-90deg) scale(0);
}

body.night-theme .glass-nav,
.night-theme .glass-nav {
  --nav-glass-bg: rgba(30, 30, 35, 0.45);
  --nav-glass-border: rgba(255, 255, 255, 0.15);
  --nav-glass-shadow: rgba(0, 0, 0, 0.8);
  --nav-glass-highlight: rgba(255, 255, 255, 0.25);
  --nav-glass-caustic: rgba(255, 255, 255, 0.05);
  --nav-reflection-start: rgba(255, 255, 255, 0.15);
  --nav-reflection-end: rgba(255, 255, 255, 0);
  --nav-glare-color: rgba(255, 255, 255, 0.15);
  --nav-pill-bg: rgba(60, 60, 65, 0.8);
  --nav-pill-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.2);
  --nav-icon-color: rgba(255, 255, 255, 0.5);
  --nav-active-color: #ffffff;
  --nav-divider: rgba(255, 255, 255, 0.15);
  background: var(--nav-glass-bg);
  color: var(--nav-icon-color);
  box-shadow:
    0 40px 80px -20px var(--nav-glass-shadow),
    0 10px 30px -10px var(--nav-glass-shadow),
    inset 0 2px 3px -1px var(--nav-glass-highlight),
    inset 0 -2px 4px -1px var(--nav-glass-caustic),
    inset 0 0 0 1px var(--nav-glass-border);
}

body.night-theme .glass-nav .glass-overlay,
.night-theme .glass-nav .glass-overlay {
  background: var(--nav-glass-bg);
}

body.night-theme .glass-nav .glass-specular,
.night-theme .glass-nav .glass-specular {
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.25), inset 0 0 8px rgba(255, 255, 255, 0.05);
}

body.night-theme .glass-nav::before,
.night-theme .glass-nav::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
}

body.night-theme .glass-glare,
.night-theme .glass-glare {
  background: radial-gradient(circle 90px at var(--x, 50%) var(--y, 50%), rgba(255, 255, 255, 0.15), transparent 100%);
}

body.night-theme .nav-active-pill,
.night-theme .nav-active-pill {
  background: rgba(60, 60, 65, 0.8);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.2);
}

body.night-theme .nav-theme-sun {
  opacity: 0;
  transform: rotate(90deg) scale(0);
}

body.night-theme .nav-theme-moon {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

body.night-theme .glass-nav .nav-links li a,
.night-theme .glass-nav .nav-links li a {
  color: var(--nav-icon-color) !important;
}

body.night-theme .glass-nav .nav-links li a:hover,
.night-theme .glass-nav .nav-links li a:hover,
body.night-theme .glass-nav .nav-links li a.is-active,
.night-theme .glass-nav .nav-links li a.is-active {
  color: var(--nav-active-color) !important;
}

@media (max-width: 1180px) {
  .glass-nav {
    max-width: calc(100vw - 108px);
  }

  .glass-nav .nav-links {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .glass-nav .nav-links::-webkit-scrollbar {
    display: none;
  }

  .glass-nav .nav-links li a {
    padding: 0 13px;
  }
}

@media (max-width: 820px) {
  header {
    gap: 10px;
  }

  .glass-nav {
    max-width: 100%;
    padding: 7px;
  }

  .glass-nav .nav-links li a {
    height: 40px;
    padding: 0 12px;
    font-size: 14px;
  }

  .nav-active-pill,
  .nav-theme-btn {
    height: 40px;
  }

  .nav-theme-btn {
    width: 40px;
  }

  .nav-divider {
    height: 22px;
    margin: 0 5px;
  }
}

@media (max-width: 600px) {
  header .glass-nav {
    width: 100%;
    max-width: min(100%, 520px);
    justify-content: center;
  }

  .glass-nav .nav-links {
    flex: 1;
    justify-content: flex-start;
    gap: 3px;
  }

  .glass-nav .nav-links li a {
    min-width: 42px;
    padding: 0 11px;
    font-size: 13px;
    gap: 7px;
  }

  .glass-nav .nav-links li a i {
    width: 16px;
    min-width: 16px;
    font-size: 15px;
  }

  .nav-theme-btn {
    flex: 0 0 40px;
  }
}

@media (max-width: 430px) {
  .glass-nav .nav-links li a {
    padding: 0 12px;
  }

  .glass-nav .nav-links li a span {
    display: none;
  }

  .glass-nav .nav-links li a i {
    font-size: 16px;
  }
}

.nav-social-icons {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.nav-social-icons a {
  color: #343d68;
  font-size: 22px;
  transition: color 0.3s;
}

.nav-social-icons a:hover {
  color: #e84949;
}

/* Header End */

/* Hero Section Start  */
.heroSection {
  gap: 5rem;
  margin: 0 auto;
  padding: 0 1rem;
  padding-top: 8.5rem;
  padding-bottom: clamp(3rem, 5vw, 5rem);
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 1200px;
  max-width: 100%;
  isolation: isolate;
  background: transparent;
}

.heroSection::before {
  content: "";
  position: absolute;
  top: -4rem;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background-color: var(--hero-bg-color);
  background-image: var(--hero-mesh-image);
  background-attachment: fixed;
  z-index: 0;
}

body.night-theme .heroSection::before,
.night-theme .heroSection::before {
  background-color: var(--hero-bg-color);
  background-image: var(--hero-mesh-image);
}

.heroSection > .infoContainer,
.heroSection > .orbit-hero-right {
  position: relative;
  z-index: 1;
}

.infoContainer {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: center;
  /* width: 100%; */
}

.fadedText {
  user-select: none;
  font-size: 6em;
  color: #e7e7e7;
  bottom: 0;
  left: 0;
  font-weight: bold;
}

.water-text-svg {
  width: min(720px, calc(100vw - 2rem));
  height: clamp(70px, 8vw, 105px);
  overflow: visible;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 768px) {
  .water-text-svg {
    width: min(360px, calc(100vw - 1rem));
    height: 58px;
  }
}

@media (max-width: 480px) {
  .water-text-svg {
    width: min(260px, calc(100vw - 1rem));
    height: 42px;
  }
}

.absolute {
  position: absolute;
}

.heading {
  font-size: 35px;
  color: #343d68;
  line-height: 30px;
}

.role {
  color: #4e45d5;
  font-weight: 800;
}

.subHeading {
  font-size: 45px;
  line-height: 40px;
}

.desc {
  font-size: 16px;
  margin-top: 1rem;
  width: 70%;
  font-weight: 500;
}

.btn {
  background-color: #e84949;
  width: fit-content;
  color: white;
  padding: 0.8rem 2.3rem;
  box-shadow: 5px 5px 7px 0px #0000003f;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.5s;
  font-weight: 500;
  border: solid 3px transparent;
  position: relative;
  z-index: 1;
}

.btn::before {
  content: "";
  position: absolute;
  background-color: #fff;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0px;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left;
  transition: all 0.8s;
}

.btn:hover::before {
  transform: scaleX(1);
}

.btn:hover {
  border: solid 3px #e84949;
  color: black;
}

.imgContainer {
  position: relative;
}

.userImage {
  padding: 2.5rem;
  transition: all 1s;
  animation: scaleImage 5s linear infinite;
  width: 345px;
  height: 390px;
}

@keyframes scaleImage {
  0% {
    scale: 1;
    filter: grayscale(1);
  }

  50% {
    filter: grayscale(0);
    box-shadow: 3px 3px 10px black;
    scale: 0.9;
  }

  100% {
    scale: 1;
    filter: grayscale(1);
  }
}

.userImage img {
  z-index: -9;
  width: 100%;
}

.icons {
  z-index: 9;
}

.iconDots {
  bottom: -1rem;
  right: 0;
  animation: dotsAnimation 5s linear infinite;
}

@keyframes dotsAnimation {
  50% {
    transform: translateY(-15px);
  }
}

.iconZigZag {
  z-index: 10;
  top: 1.5em;
  left: -0.3em;
  animation: zigzagAnimation 5s infinite;
}

@keyframes zigzagAnimation {
  50% {
    left: 5%;
    top: 3%;
  }
}

.icon-cube {
  z-index: 9;
  top: -0.8em;
  right: 1em;
  animation-name: cubeRotate;
  animation-duration: 3s;
  animation-iteration-count: infinite;
}

@keyframes cubeRotate {
  0% {
    transform: rotateY(0deg) translateY(0px);
  }
  50% {
    transform: rotateY(180deg) translateY(-12px);
  }
  100% {
    transform: rotateY(360deg) translateY(0px);
  }
}

.icon-circle {
  z-index: 9;
  left: 0;
  bottom: 0;
  animation-name: shakeEffect;
  animation-duration: 6s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes shakeEffect {
  50% {
    left: 5%;
    bottom: 10%;
  }
}
.icon-plus {
  z-index: 9;
  top: -0.8rem;
  left: 50%;
  animation: shakeEffectPlus 5s ease-in infinite;
}

@keyframes shakeEffectPlus {
  50% {
    top: 2%;
    left: 48%;
  }
}

/* --- Orbit Animation (Hero Image) --- */
:root {
  --orbit-radius: 220px;
  --orbit-size: 440px;
}

.orbit-hero-right {
  flex: 0 0 auto;
  width: var(--orbit-size);
  height: var(--orbit-size);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.orbit-center-image {
  width: 280px;
  height: 340px;
  position: absolute;
  z-index: 20;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: visible;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
}

.orbit-center-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

.hero-shard-host {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-mask-image: linear-gradient(to bottom, #000 69%, rgba(0, 0, 0, 0.72) 84%, rgba(0, 0, 0, 0.28) 95%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 69%, rgba(0, 0, 0, 0.72) 84%, rgba(0, 0, 0, 0.28) 95%, transparent 100%);
}

.hero-shard-fallback,
.hero-shards-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-shard-fallback {
  object-fit: contain;
  object-position: bottom;
  z-index: 1;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.hero-shards-pending .hero-shard-fallback,
.hero-shards-enabled .hero-shard-fallback {
  opacity: 0;
}

.hero-shards-svg {
  display: none;
  overflow: visible;
  z-index: 2;
}

.hero-shards-pending .hero-shards-svg,
.hero-shards-enabled .hero-shards-svg {
  display: block;
}

.hero-shards-svg .shard {
  opacity: 0;
}

.orbit-animation-ring {
  width: var(--orbit-size);
  height: var(--orbit-size);
  position: relative;
  border-radius: 50%;
  border: 1px solid rgba(232, 73, 73, 0.15);
  background: radial-gradient(circle, #77777f 0%, #9a9aa1 22%, #dddddf 58%, #f5f5f6 100%);
  animation: orbitSpinRight 40s linear infinite;
}

body.night-theme .orbit-animation-ring {
  border: 1px solid rgba(232, 73, 73, 0.15);
  background: radial-gradient(circle, #0a0a0e 0%, #111116 52%, #6d6d72 72%, #f5f5f6 100%);
}

.orbit-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--orbit-size);
  height: var(--orbit-size);
  border-radius: 50%;
  box-shadow: none;
  pointer-events: none;
}

body.night-theme .orbit-glow {
  box-shadow: none;
}

.orbit-slot {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  pointer-events: none;
  transform: rotate(var(--angle)) translate(var(--orbit-radius));
}

.orbit-counter-rotator {
  width: 100%;
  height: 100%;
  animation: orbitSpinLeft 40s linear infinite;
}

.orbit-orientation-fixer {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  pointer-events: auto;
  transform: rotate(calc(var(--angle) * -1));
}

.chip {
  padding: 8px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  transition: all 0.3s;
}

.c-frontend  { background: #e84949; }
.c-react     { background: #61dafb; color: #1a1a2e; }
.c-js        { background: #f7df1e; color: #1a1a2e; }
.c-uiux      { background: #4e45d5; }
.c-webdesign { background: #343d68; }
.c-marketing { background: #23a873; }
.c-security  { background: #c03f46; }
.c-video     { background: #3a8bd4; }
.c-ai        { background: #8b5cf6; }

.orbit-animation-ring .chip {
  transition: background-color 3s linear, color 3s linear, transform 0.3s ease;
}

@keyframes orbitSpinRight {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes orbitSpinLeft {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

/* Hero Section Ends  */

/* Projects Section  */
.projectSection {
  margin-top: 4rem;
  background-color: #f5f0eb;
  overflow: hidden;
}

.projectSection + .projectSection {
  margin-top: 0;
}

#graphics {
  margin-top: 0;
}

.projectTitle {
  font-size: 90px;
  line-height: 100%;
  padding: 50px 0 30px;
  text-align: center;
  letter-spacing: -0.01em;
  margin: 0;
  color: rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  border-top: 1px solid #2f2b28;
  border-bottom: 1px solid #2f2b28;
}

/* Scroll-reveal gradient on revealed letters */
.projectTitle .te-base {
  background: linear-gradient(to right, #ffffff, #ffffff) no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 0%;
  transition: background-size cubic-bezier(0.1, 0.5, 0.5, 1) 0.5s;
  animation-name: textEffectReveal;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-timeline: view();
  animation-range: entry 100% cover 50%;
}

/* Faded letters stay at base faded color */
.projectTitle .te-fade {
  color: rgba(255, 255, 255, 0.15);
}

@keyframes textEffectReveal {
  to {
    background-size: 100%;
  }
}

/* Hover overlay inside projectTitle */
.projectTitle.text-effect > .te-hover {
  position: absolute;
  inset: 0;
  padding: inherit;
  color: #0d0d0d;
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  clip-path: polygon(0 50%, 100% 50%, 100% 50%, 0 50%);
  transform-origin: center;
  transition: all cubic-bezier(0.1, 0.5, 0.5, 1) 0.4s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.projectTitle.text-effect:hover > .te-hover {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

/* Alternating hover span colors: Yellow, Red, White */
#projects .projectTitle.text-effect > .te-hover {
  background-color: #FFD700;
  color: #0d0d0d;
}

#graphics .projectTitle.text-effect > .te-hover {
  background-color: #e84949;
  color: #ffffff;
}

#socialmedia .projectTitle.text-effect > .te-hover {
  background-color: #ffffff;
  color: #0d0d0d;
}

#advertisements .projectTitle.text-effect > .te-hover {
  background-color: #FFD700;
  color: #0d0d0d;
}

#itSpecialist .projectTitle.text-effect > .te-hover {
  background: linear-gradient(90deg, #3b82f6 0%, #6366f1 45%, #ef4444 100%);
  color: #ffffff;
}

.projectContainer {
  display: flex;
  flex-direction: column;
  gap: 117px;
  padding: 20px 0 60px;
}

/* ── Graphics Designing Section - Redesigned ── */
.gfx-division {
  padding: 40px 5%;
  border-bottom: 1px solid rgba(47, 43, 40, 0.2);
}

.gfx-division:last-child {
  border-bottom: none;
}

.gfx-division-title {
  font-family: 'Space Grotesk', 'Be Vietnam Pro', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #1a1a2e;
  text-align: center;
  margin: 0 0 8px;
}

.gfx-division-desc {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin: 0 0 30px;
}

/* Menu Tabs */
.gfx-menu-tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.gfx-menu-tab {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  border: 2px solid #1a1a2e;
  border-radius: 8px;
  background: transparent;
  color: #1a1a2e;
  cursor: pointer;
  transition: all 0.3s ease;
}

.gfx-menu-tab:hover {
  background: #1a1a2e;
  color: #fff;
}

.gfx-menu-tab.active {
  background: #e84949;
  border-color: #e84949;
  color: #fff;
}

/* Flipbook */
.gfx-book-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gfx-book-container {
  perspective: 1800px;
  position: relative;
  width: 300px;
  height: 400px;
  margin: 0 auto;
  transition: width 0.6s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.gfx-book-container.gfx-book-open {
  width: 600px;
}

/* Center spine shadow */
.gfx-book-container::before {
  display: none;
}

.gfx-book-container.gfx-book-open::before {
  opacity: 1;
}

/* Book base shadow */
.gfx-book-container::after {
  display: none;
}

.gfx-page {
  width: 300px;
  height: 400px;
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: left center;
  transition: transform 1s cubic-bezier(0.4, 0.0, 0.2, 1),
              box-shadow 0.6s ease;
  transform-style: preserve-3d;
  z-index: 1;
  cursor: pointer;
}

.gfx-page canvas {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}

.gfx-page.flipped {
  transform: rotateY(-180deg);
  z-index: 0;
}

/* Single page / 2-page flip */
.gfx-page.gfx-single-page {
  left: 50%;
  transform: translateX(-50%);
  transform-origin: center center;
  transition: transform 1.2s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* 1-page PDF: 360-degree spin (same content both sides) */
.gfx-page.gfx-single-page.gfx-spin.flipped {
  transform: translateX(-50%) rotateY(-360deg);
  z-index: 1;
}

/* 2-page PDF: 180-degree toggle (front/back) */
.gfx-page.gfx-single-page.gfx-flip.flipped {
  transform: translateX(-50%) rotateY(-180deg);
  z-index: 1;
}

.gfx-page-front,
.gfx-page-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  background: transparent;
  border: none;
  overflow: hidden;
  border-radius: 0;
}

.gfx-page-front {
  box-shadow: none;
}

.gfx-page-back {
  transform: rotateY(180deg);
  border-radius: 0;
  box-shadow: none;
}

.gfx-book-controls {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
}

.gfx-book-btn {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  background: #1a1a2e;
  color: #fff;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.gfx-book-btn:hover {
  background: #e84949;
  transform: scale(1.05);
}

.gfx-book-btn:disabled {
  background: #999;
  cursor: not-allowed;
  transform: none;
}

.gfx-page-indicator {
  font-size: 14px;
  color: #333;
  min-width: 100px;
  text-align: center;
}

.gfx-book-container.loading::after {
  content: 'Loading PDF...';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 240, 235, 0.95);
  font-size: 16px;
  color: #666;
  z-index: 100;
  border-radius: 6px;
  bottom: 0;
  height: 100%;
}

/* Image Galleries */
.gfx-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.gfx-gallery-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: #1a1a2e;
  aspect-ratio: 3 / 4;
  cursor: pointer;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.gfx-gallery-item:hover {
  transform: scale(1.05);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  z-index: 10;
}

.gfx-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.gfx-gallery-item:hover img {
  transform: scale(1.08);
}

/* Logo gallery - square with padding */
.gfx-gallery-logos .gfx-logo-item {
  aspect-ratio: 1 / 1;
  background: #f9f6ef;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.gfx-gallery-logos .gfx-logo-item img {
  object-fit: contain;
}

/* Gallery Lightbox */
.gfx-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.gfx-lightbox.active {
  opacity: 1;
  visibility: visible;
}

.gfx-lightbox img {
  max-width: 85vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  transform: scale(0.8);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gfx-lightbox.active img {
  transform: scale(1);
}

.gfx-lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  border: none;
  font-size: 28px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.gfx-lightbox-close:hover {
  background: #e84949;
}

/* Fullscreen button accent */
.gfx-fs-btn {
  background: #e84949 !important;
  margin-left: 12px;
}

.gfx-fs-btn:hover {
  background: #c73636 !important;
}

/* Fullscreen Menu Overlay */
.gfx-fs-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 6000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.gfx-fs-overlay.active {
  opacity: 1;
  visibility: visible;
}

.gfx-fs-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: none;
  font-size: 28px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
  z-index: 10;
}

.gfx-fs-close:hover {
  background: #e84949;
  transform: scale(1.1);
}

.gfx-fs-page-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Fullscreen 3D Flipbook */
.gfx-fs-book-container {
  perspective: 2200px;
  position: relative;
  width: 860px;
  height: 570px;
  transform: scale(0.8);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease;
}

.gfx-fs-overlay.active .gfx-fs-book-container {
  transform: scale(1);
  opacity: 1;
}

/* Spine shadow for fullscreen book */
.gfx-fs-book-container::before {
  content: '';
  position: absolute;
  top: 2%;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 96%;
  background: linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03) 40%, transparent 50%, rgba(255,255,255,0.03) 60%, rgba(255,255,255,0.08));
  z-index: 50;
  pointer-events: none;
  border-radius: 2px;
}

/* Book base shadow fullscreen */
.gfx-fs-book-container::after {
  content: '';
  position: absolute;
  bottom: -16px;
  left: 10%;
  width: 80%;
  height: 24px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.5) 0%, transparent 70%);
  z-index: -1;
  pointer-events: none;
}

/* Pages inside fullscreen book reuse .gfx-page styles */
.gfx-fs-book-container .gfx-page {
  width: 430px;
  height: 570px;
  left: 50%;
}

.gfx-fs-book-container .gfx-page-front {
  box-shadow: none;
}

.gfx-fs-book-container .gfx-page-back {
  box-shadow: none;
}

.gfx-fs-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 16px 0 24px;
  width: 100%;
}

.gfx-fs-nav-btn {
  font-family: 'Be Vietnam Pro', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 28px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(8px);
}

.gfx-fs-nav-btn:hover {
  background: #e84949;
  border-color: #e84949;
  transform: scale(1.05);
}

.gfx-fs-nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
}

.gfx-fs-indicator {
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  min-width: 100px;
  text-align: center;
  font-weight: 500;
}

/* Hint text for double-tap / long-press */
.gfx-fs-hint {
  font-size: 11px;
  color: #999;
  text-align: center;
  margin-top: 10px;
  pointer-events: none;
}

/* Swipe hint text in fullscreen */
.gfx-fs-page-wrapper::after {
  content: 'Swipe or click pages to flip';
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
  white-space: nowrap;
}

/* Graphics section responsive */
@media (max-width: 900px) {
  .gfx-division { padding: 30px 3%; }
  .gfx-division-title { font-size: 26px; }
  .gfx-book-container { width: 400px; height: 267px; }
  .gfx-page { width: 200px; height: 267px; left: 50%; }
  .gfx-gallery { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  /* Fullscreen book - tablet */
  .gfx-fs-book-container { width: 90vw; height: 65vh; }
  .gfx-fs-book-container .gfx-page { width: 45vw; height: 65vh; left: 50%; }
}

@media (max-width: 600px) {
  .gfx-division { padding: 20px 4%; }
  .gfx-division-title { font-size: 22px; }
  .gfx-division-desc { font-size: 13px; }
  .gfx-menu-tabs { gap: 8px; }
  .gfx-menu-tab { padding: 8px 16px; font-size: 12px; }
  .gfx-book-container { width: 280px; height: 373px; }
  .gfx-book-container::before { display: none; }
  .gfx-page { width: 280px; height: 373px; left: 0; }
  .gfx-page-front { border-radius: 0; }
  .gfx-page-back { border-radius: 0; }
  .gfx-book-btn { padding: 8px 14px; font-size: 12px; }
  .gfx-book-controls { flex-wrap: wrap; justify-content: center; }
  .gfx-fs-btn { margin-left: 0 !important; margin-top: 8px; }
  .gfx-gallery { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .gfx-lightbox img { max-width: 95vw; max-height: 80vh; }
  /* Fullscreen responsive */
  .gfx-fs-book-container { width: 90vw; height: 60vh; }
  .gfx-fs-book-container .gfx-page { width: 45vw; height: 60vh; left: 50%; }
  .gfx-fs-book-container::before { display: none; }
  .gfx-fs-book-container .gfx-page-front,
  .gfx-fs-book-container .gfx-page-back { border-radius: 0; }
  .gfx-fs-nav-btn { padding: 10px 18px; font-size: 12px; }
  .gfx-fs-indicator { font-size: 13px; min-width: 80px; }
  .gfx-fs-controls { gap: 12px; padding: 12px 0 18px; }
  .gfx-fs-close { top: 10px; right: 10px; width: 40px; height: 40px; font-size: 24px; }
}

@media (max-width: 480px) {
  .gfx-book-container { width: 240px; height: 320px; }
  .gfx-page { width: 240px; height: 320px; left: 0; }
  .gfx-gallery { grid-template-columns: 1fr; gap: 16px; }
  .gfx-fs-book-container { width: 92vw; height: 55vh; }
  .gfx-fs-book-container .gfx-page { width: 92vw; height: 55vh; left: 0; }
  .gfx-fs-nav-btn { padding: 8px 14px; font-size: 11px; }
  .gfx-fs-controls { gap: 8px; padding: 10px 0 14px; }
}

/* Night theme - Graphics section */
.night-theme .gfx-division { border-bottom-color: rgba(255, 255, 255, 0.1); }
.night-theme .gfx-division-title { color: #f0f0f0; }
.night-theme .gfx-division-desc { color: #bbb; }
.night-theme .gfx-menu-tab { border-color: #555; color: #f0f0f0; }
.night-theme .gfx-menu-tab:hover { background: #333; }
.night-theme .gfx-menu-tab.active { background: #e84949; border-color: #e84949; }
.night-theme .gfx-book-btn { background: #333; }
.night-theme .gfx-book-btn:hover { background: #e84949; }
.night-theme .gfx-page-indicator { color: #ccc; }
.night-theme .gfx-page-front { border: none; }
.night-theme .gfx-page-back { border: none; }
.night-theme .gfx-book-container::before { background: linear-gradient(90deg, rgba(255,255,255,0.06), transparent 40%, transparent 60%, rgba(255,255,255,0.06)); }
.night-theme .gfx-fs-hint { color: #666; }
.night-theme .gfx-gallery-item { background: #222; }
.night-theme .gfx-gallery-logos .gfx-logo-item { background: #2a2a2a; }

/* ── Poster & Banner 3D Carousel ── */
.poster-effect-section {
  position: relative;
  overflow: hidden;
  background: #ececec;
  border-radius: 0;
  padding: 40px 4% 34px;
  font-family: "Bricolage Grotesque", "Be Vietnam Pro", sans-serif;
}

.poster-effect-section .pb-title,
.poster-effect-section .pb-desc {
  position: relative;
  z-index: 2;
}

.poster-effect-section .pb-title {
  color: #1a1a2e;
}

.poster-effect-section .pb-desc {
  color: #666;
  margin-bottom: 10px;
}

.poster-effect-carousel {
  --poster-step: clamp(76px, 11vw, 150px);
  --poster-tilt: -54deg;
  position: relative;
  min-height: clamp(340px, 46vw, 560px);
  display: grid;
  place-items: center;
  padding: 10px 0 76px;
  color: #262626;
  user-select: none;
  perspective: 1200px;
}

.poster-effect-stage {
  position: relative;
  width: min(86vw, 920px);
  height: clamp(260px, 36vw, 430px);
  transform-style: preserve-3d;
}

.poster-effect-slide {
  --offset: 0;
  --abs-offset: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: clamp(150px, 20vw, 250px);
  aspect-ratio: 3 / 4;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  transform:
    translateX(calc(-50% + (var(--offset) * var(--poster-step))))
    rotateY(calc(var(--offset) * var(--poster-tilt)))
    scale(calc(1 - (min(var(--abs-offset), 4) * 0.08)));
  transform-origin: center center;
  opacity: calc(1 - (min(var(--abs-offset), 5) * 0.12));
  filter: saturate(calc(1 - (min(var(--abs-offset), 4) * 0.08))) blur(calc(min(var(--abs-offset), 4) * 0.45px));
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
  transition:
    transform 0.8s cubic-bezier(.2,.75,.25,1.15),
    opacity 0.45s ease,
    filter 0.45s ease,
    box-shadow 0.45s ease;
  z-index: calc(50 - var(--abs-offset));
  will-change: transform, opacity, filter;
}

.poster-effect-slide.is-active {
  opacity: 1;
  filter: none;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.28);
}

.poster-effect-slide:focus-visible {
  outline: 3px solid #e84949;
  outline-offset: 5px;
}

.poster-effect-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
  pointer-events: none;
}

.poster-effect-caption {
  min-height: 22px;
  margin-top: 12px;
  font-size: clamp(12px, 1.5vw, 15px);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  color: #333;
  transition: opacity 0.25s ease, filter 0.25s ease, color 0.35s ease;
}

.poster-effect-controls {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: fit-content;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  border: 1px solid rgba(180, 180, 180, 0.75);
  border-radius: 999px;
  background: rgba(240, 240, 240, 0.62);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 4;
}

.poster-effect-nav {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: transparent;
  color: #444;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.poster-effect-nav:hover {
  background: rgba(255, 255, 255, 0.82);
  color: #111;
  transform: translateY(-1px);
}

.poster-effect-nav:disabled {
  cursor: not-allowed;
  opacity: 0.35;
  transform: none;
}

.poster-effect-dots {
  width: min(180px, 38vw);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
}

.poster-effect-dot {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: currentColor;
  color: rgba(40, 40, 40, 0.35);
  cursor: pointer;
  transition: width 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.poster-effect-dot.is-active {
  width: 28px;
  color: #333;
}

.poster-effect-dot:hover {
  transform: scale(1.15);
}

.night-theme .poster-effect-section {
  background: linear-gradient(180deg, #181818 0%, #1f1f1f 50%, #181818 100%);
}

.night-theme .poster-effect-section .pb-title {
  color: #f0f0f0;
}

.night-theme .poster-effect-section .pb-desc,
.night-theme .poster-effect-caption {
  color: #bbb;
}

.night-theme .poster-effect-controls {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(24, 24, 30, 0.72);
}

.night-theme .poster-effect-nav {
  color: #eee;
}

.night-theme .poster-effect-nav:hover {
  background: rgba(255, 255, 255, 0.12);
}

.night-theme .poster-effect-dot {
  color: rgba(255, 255, 255, 0.32);
}

.night-theme .poster-effect-dot.is-active {
  color: #f0f0f0;
}

@media (max-width: 760px) {
  .poster-effect-section { padding: 30px 3% 28px; }
  .poster-effect-carousel {
    --poster-step: clamp(54px, 16vw, 88px);
    min-height: 360px;
    padding-bottom: 72px;
  }
  .poster-effect-stage {
    height: 270px;
  }
  .poster-effect-slide {
    width: clamp(124px, 42vw, 172px);
  }
  .poster-effect-controls {
    gap: 8px;
  }
  .poster-effect-dots {
    width: min(148px, 40vw);
    gap: 5px;
  }
}

@media (max-width: 420px) {
  .poster-effect-carousel {
    min-height: 330px;
  }
  .poster-effect-stage {
    height: 240px;
  }
  .poster-effect-slide {
    width: 132px;
  }
  .poster-effect-dot {
    width: 7px;
    height: 7px;
  }
  .poster-effect-dot.is-active {
    width: 22px;
  }
}

.pb-carousel-section {
  position: relative;
  overflow: hidden;
  background: #f5f0eb;
  border-radius: 0;
  padding: 40px 0 0;
}

.pb-carousel-section .pb-title,
.pb-carousel-section .pb-desc {
  position: relative;
  z-index: 2;
}

.pb-carousel-section .pb-title {
  color: #1a1a2e;
}

.pb-carousel-section .pb-desc {
  color: #666;
  margin-bottom: 20px;
}

.pb-carousel-track {
  --left: -200rem;
  position: relative;
  min-width: calc(10rem * var(--total));
  height: 11rem;
}

.pb-carousel-item {
  position: absolute;
  width: 9rem;
  height: 10.5rem;
  left: 100%;
  display: flex;
  justify-content: center;
  perspective: 1000px;
  transform-style: preserve-3d;
  animation: pb-scroll-left var(--time) linear infinite;
  animation-delay: calc(var(--time) / var(--total) * (var(--i) - 1) - var(--time));
  will-change: left;
  transition: 0.5s ease-in-out;
  cursor: pointer;
}

.pb-carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: transparent;
  transform: rotateY(-45deg);
  transition: 0.5s ease-in-out;
  mask: linear-gradient(black 85%, transparent 100%);
  -webkit-mask: linear-gradient(black 85%, transparent 100%);
}

.pb-carousel-item:hover img {
  transform: rotateY(0deg) translateY(-1rem);
}

@keyframes pb-scroll-left {
  to {
    left: var(--left);
  }
}

/* Responsive - Tablet */
@media (max-width: 900px) {
  .pb-carousel-section { padding: 30px 0 0; }
  .pb-carousel-track { height: 9rem; }
  .pb-carousel-item { width: 7rem; height: 8.5rem; }
}

/* Responsive - Mobile */
@media (max-width: 600px) {
  .pb-carousel-section { padding: 24px 0 0; }
  .pb-carousel-track { height: 7.5rem; }
  .pb-carousel-item { width: 6rem; height: 7rem; }
}

@media (max-width: 480px) {
  .pb-carousel-section { padding: 20px 0 0; }
  .pb-carousel-track { height: 6.5rem; }
  .pb-carousel-item { width: 5rem; height: 6rem; }
}

/* Night theme - Carousel */
.night-theme .pb-carousel-section { background: linear-gradient(180deg, #181818 0%, #1f1f1f 50%, #181818 100%); }
.night-theme .pb-carousel-section .pb-title { color: #f0f0f0; }
.night-theme .pb-carousel-section .pb-desc { color: #bbb; }
.night-theme .pb-carousel-item img { background-color: transparent; }

/* ── Vertical 3D Gallery (Poster Designs) ── */
.vg-wrapper {
  --vg-index: calc(1vw + 1vh);
  --vg-transition: cubic-bezier(.1, .7, 0, 1);
  --vg-gap-base: .05rem;
  --vg-shift: 0px;
  height: calc(var(--vg-index) * 20);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.vg-items {
  display: flex;
  gap: var(--vg-gap, var(--vg-gap-base));
  perspective: calc(var(--vg-index) * 35);
  perspective-origin: 50% 50%;
  transform: translateX(var(--vg-shift));
  transform-style: preserve-3d;
  will-change: transform;
  overflow: visible;
  transition: transform .6s var(--vg-transition);
  padding-inline: 48px;
  margin-inline: -48px;
}
.vg-items.vg-hovering { --vg-gap: calc(var(--vg-gap-base) / 2); }

.vg-item {
  position: relative;
  width: calc(var(--vg-index) * 3);
  height: calc(var(--vg-index) * 18);
  background: #ddd center/cover no-repeat;
  cursor: pointer;
  transition: transform 1.25s var(--vg-transition), width .5s var(--vg-transition);
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform, width;
  outline: none;
  border-radius: 12px;
  flex: 0 0 auto;
  user-select: none;
}

/* Hover bands */
.vg-item.vg-hover-main { transform: translateZ(calc(var(--vg-index) * 10)); z-index: 10; }
.vg-item.vg-right-1    { transform: translateZ(calc(var(--vg-index) * 8.5))  rotateY(35deg);  z-index: 9; }
.vg-item.vg-right-2    { transform: translateZ(calc(var(--vg-index) * 5.6))  rotateY(40deg);  z-index: 8; }
.vg-item.vg-right-3    { transform: translateZ(calc(var(--vg-index) * 2.5))  rotateY(30deg);  z-index: 7; }
.vg-item.vg-right-4    { transform: translateZ(calc(var(--vg-index) * 0.6))  rotateY(15deg);  z-index: 6; }
.vg-item.vg-left-1     { transform: translateZ(calc(var(--vg-index) * 8.5))  rotateY(-35deg); z-index: 9; }
.vg-item.vg-left-2     { transform: translateZ(calc(var(--vg-index) * 5.6))  rotateY(-40deg); z-index: 8; }
.vg-item.vg-left-3     { transform: translateZ(calc(var(--vg-index) * 2.5))  rotateY(-30deg); z-index: 7; }
.vg-item.vg-left-4     { transform: translateZ(calc(var(--vg-index) * 0.6))  rotateY(-15deg); z-index: 6; }

/* Open state */
.vg-items.vg-is-open .vg-item { transition: transform .8s var(--vg-transition), width .6s var(--vg-transition); }
.vg-item.vg-is-open {
  width: 20vw;
  z-index: 100;
  transform: translateZ(calc(var(--vg-index) * 10));
}

/* Responsive */
@media (max-width: 900px) {
  .vg-wrapper { height: calc(var(--vg-index) * 22); }
  .vg-item { width: calc(var(--vg-index) * 3.5); height: calc(var(--vg-index) * 20); }
  .vg-item.vg-is-open { width: 30vw; }
}
@media (max-width: 600px) {
  .vg-wrapper { height: calc(var(--vg-index) * 24); }
  .vg-item { width: calc(var(--vg-index) * 2); height: calc(var(--vg-index) * 22); }
  .vg-item.vg-is-open { width: 45vw; }
}
@media (max-width: 480px) {
  .vg-wrapper { height: calc(var(--vg-index) * 26); }
  .vg-item { width: calc(var(--vg-index) * 2.5); height: calc(var(--vg-index) * 24); }
  .vg-item.vg-is-open { width: 55vw; }
}

/* Night theme - Vertical Gallery */
.night-theme .vg-item { background-color: #222; }

/* ══════════════════════════════════════════════════════════
   Social Media Section — 3D Video Card Carousels
   ══════════════════════════════════════════════════════════ */

.sm-division {
  padding: 50px 5%;
  border-bottom: 1px solid rgba(47, 43, 40, 0.15);
}

.sm-division:last-child {
  border-bottom: none;
}

.sm-division-title {
  font-family: 'Space Grotesk', 'Be Vietnam Pro', sans-serif;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: #1a1a2e;
  margin: 0 0 8px;
}

.sm-division-desc {
  font-size: 14px;
  color: #888;
  text-align: center;
  margin: 0 0 40px;
}

/* ── Carousel Viewport & Track ── */
.sm-carousel {
  position: relative;
  width: 100%;
}

.sm-carousel__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.sm-carousel--portrait .sm-carousel__viewport {
  height: 480px;
}

.sm-carousel--landscape .sm-carousel__viewport {
  height: 340px;
}

.sm-carousel__track {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  height: 100%;
  perspective: 1200px;
  perspective-origin: 50% 50%;
}

/* ── Card Base ── */
.sm-carousel__card {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 16px;
  overflow: hidden;
  background: #0a0a0a;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1),
              opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1),
              box-shadow 0.6s ease;
  will-change: transform, opacity;
  cursor: pointer;
}

/* Portrait cards (9:16 phone shape) */
.sm-carousel--portrait .sm-carousel__card {
  width: 240px;
  height: 426px;
  margin-left: -120px;
  margin-top: -213px;
}

/* Landscape cards (16:9) */
.sm-carousel--landscape .sm-carousel__card {
  width: 420px;
  height: 236px;
  margin-left: -210px;
  margin-top: -118px;
}

/* Video fill */
.sm-carousel__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 16px;
  pointer-events: none;
}

/* Placeholder for coming soon */
.sm-carousel__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.3);
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  border-radius: 16px;
}

/* ── Card Positions (set by JS via data-pos) ── */

/* Center — active card */
.sm-carousel__card[data-pos="0"] {
  transform: translateZ(80px) scale(1);
  opacity: 1;
  z-index: 5;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

/* 1 right */
.sm-carousel__card[data-pos="1"] {
  transform: translateX(260px) rotateY(-15deg) scale(0.82);
  opacity: 0.7;
  z-index: 4;
}

/* 1 left */
.sm-carousel__card[data-pos="-1"] {
  transform: translateX(-260px) rotateY(15deg) scale(0.82);
  opacity: 0.7;
  z-index: 4;
}

/* 2 right */
.sm-carousel__card[data-pos="2"] {
  transform: translateX(440px) translateZ(-80px) rotateY(-25deg) scale(0.65);
  opacity: 0.4;
  z-index: 3;
}

/* 2 left */
.sm-carousel__card[data-pos="-2"] {
  transform: translateX(-440px) translateZ(-80px) rotateY(25deg) scale(0.65);
  opacity: 0.4;
  z-index: 3;
}

/* Hidden cards */
.sm-carousel__card[data-pos="3"],
.sm-carousel__card[data-pos="-3"],
.sm-carousel__card[data-pos="4"],
.sm-carousel__card[data-pos="-4"] {
  transform: translateZ(-200px) scale(0.4);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}

/* Landscape-specific wider offsets */
.sm-carousel--landscape .sm-carousel__card[data-pos="1"] {
  transform: translateX(380px) rotateY(-12deg) scale(0.82);
}
.sm-carousel--landscape .sm-carousel__card[data-pos="-1"] {
  transform: translateX(-380px) rotateY(12deg) scale(0.82);
}
.sm-carousel--landscape .sm-carousel__card[data-pos="2"] {
  transform: translateX(640px) translateZ(-80px) rotateY(-20deg) scale(0.65);
}
.sm-carousel--landscape .sm-carousel__card[data-pos="-2"] {
  transform: translateX(-640px) translateZ(-80px) rotateY(20deg) scale(0.65);
}

/* ── Navigation Controls ── */
.sm-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 28px 0 0;
}

.sm-carousel__btn {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.2);
  color: #1a1a2e;
  padding: 10px 24px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.sm-carousel__btn:hover {
  background: #1a1a2e;
  color: #fff;
  border-color: #1a1a2e;
}

.sm-carousel__btn--playpause,
.sm-carousel__btn--mute {
  min-width: 42px;
  padding: 10px 12px;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1;
}

.sm-carousel__indicator {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  color: #666;
  min-width: 50px;
  text-align: center;
}

/* ── Night Theme — Social Media ── */
.night-theme .sm-division {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.night-theme .sm-division-title {
  color: #f0f0f0;
}
.night-theme .sm-division-desc {
  color: #999;
}
.night-theme .sm-carousel__btn {
  color: #f0f0f0;
  border-color: rgba(255, 255, 255, 0.2);
}
.night-theme .sm-carousel__btn:hover {
  background: #f0f0f0;
  color: #0d0d0d;
  border-color: #f0f0f0;
}
.night-theme .sm-carousel__indicator {
  color: #999;
}

/* ── Responsive — Social Media Carousels ── */
@media (max-width: 900px) {
  .sm-division { padding: 35px 3%; }
  .sm-division-title { font-size: 26px; }

  .sm-carousel--portrait .sm-carousel__viewport { height: 400px; }
  .sm-carousel--portrait .sm-carousel__card {
    width: 200px; height: 356px;
    margin-left: -100px; margin-top: -178px;
  }

  .sm-carousel--landscape .sm-carousel__viewport { height: 280px; }
  .sm-carousel--landscape .sm-carousel__card {
    width: 340px; height: 191px;
    margin-left: -170px; margin-top: -96px;
  }

  .sm-carousel__card[data-pos="1"] { transform: translateX(210px) rotateY(-15deg) scale(0.8); }
  .sm-carousel__card[data-pos="-1"] { transform: translateX(-210px) rotateY(15deg) scale(0.8); }
  .sm-carousel__card[data-pos="2"],
  .sm-carousel__card[data-pos="-2"] { opacity: 0; pointer-events: none; }

  .sm-carousel--landscape .sm-carousel__card[data-pos="1"] { transform: translateX(300px) rotateY(-12deg) scale(0.8); }
  .sm-carousel--landscape .sm-carousel__card[data-pos="-1"] { transform: translateX(-300px) rotateY(12deg) scale(0.8); }
}

@media (max-width: 600px) {
  .sm-division { padding: 25px 4%; }
  .sm-division-title { font-size: 22px; }
  .sm-division-desc { font-size: 13px; margin-bottom: 25px; }

  .sm-carousel--portrait .sm-carousel__viewport { height: 360px; }
  .sm-carousel--portrait .sm-carousel__card {
    width: 180px; height: 320px;
    margin-left: -90px; margin-top: -160px;
  }

  .sm-carousel--landscape .sm-carousel__viewport { height: 220px; }
  .sm-carousel--landscape .sm-carousel__card {
    width: 280px; height: 158px;
    margin-left: -140px; margin-top: -79px;
  }

  .sm-carousel__card[data-pos="1"] { transform: translateX(160px) rotateY(-20deg) scale(0.72); opacity: 0.5; }
  .sm-carousel__card[data-pos="-1"] { transform: translateX(-160px) rotateY(20deg) scale(0.72); opacity: 0.5; }

  .sm-carousel--landscape .sm-carousel__card[data-pos="1"] { transform: translateX(210px) rotateY(-15deg) scale(0.72); }
  .sm-carousel--landscape .sm-carousel__card[data-pos="-1"] { transform: translateX(-210px) rotateY(15deg) scale(0.72); }

  .sm-carousel__btn { padding: 8px 18px; font-size: 11px; }
}

@media (max-width: 480px) {
  .sm-carousel--portrait .sm-carousel__viewport { height: 320px; }
  .sm-carousel--portrait .sm-carousel__card {
    width: 160px; height: 284px;
    margin-left: -80px; margin-top: -142px;
  }

  .sm-carousel--landscape .sm-carousel__viewport { height: 190px; }
  .sm-carousel--landscape .sm-carousel__card {
    width: 240px; height: 135px;
    margin-left: -120px; margin-top: -68px;
  }

  .sm-carousel__card[data-pos="1"],
  .sm-carousel__card[data-pos="-1"] { opacity: 0.35; }

  .sm-carousel__btn { padding: 6px 14px; font-size: 10px; }
  .sm-carousel__controls { gap: 12px; padding: 16px 0 0; }
}

/* ── Color Avalanche Section ── */
.color-avalanche-section {
  position: relative;
  width: 100%;
  height: 80vh;
  min-height: 500px;
  background-color: #0f0f11;
  overflow: hidden;
}

.ca-scene {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.color-avalanche-section.ca-static .ca-scene {
  position: relative;
  inset: auto;
  width: min(100%, 980px);
  min-height: 0;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 0.65rem;
  padding: 11rem 1.25rem 2rem;
  margin: 0 auto;
  pointer-events: auto;
}

.ca-static-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  color: #111827;
  font: 700 0.82rem/1.2 "Be Vietnam Pro", sans-serif;
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.color-avalanche-section.ca-static .ca-controls {
  display: none;
}

.ca-color-body {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  cursor: grab;
  user-select: none;
  will-change: transform;
  pointer-events: auto;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: box-shadow 0.1s;
  font-family: "Be Vietnam Pro", sans-serif;
}

.ca-color-body:active {
  cursor: grabbing;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
}

.ca-ui-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
  padding: 2rem;
  box-sizing: border-box;
  background: radial-gradient(circle at 50% 50%, transparent 80%, rgba(0, 0, 0, 0.4) 100%);
}

.ca-title {
  font-size: 3rem;
  font-weight: 900;
  margin: 0;
  background: linear-gradient(135deg, #fff 0%, #a5a5a5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ca-desc {
  font-size: 1.1rem;
  opacity: 0.7;
  margin-top: 0.5rem;
  max-width: 400px;
  color: #ffffff;
}

.ca-controls {
  margin-top: 1.5rem;
  display: flex;
  gap: 1rem;
  pointer-events: auto;
}

.ca-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  padding: 0.8rem 1.5rem;
  border-radius: 12px;
  font-family: "Be Vietnam Pro", sans-serif;
  font-weight: 600;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: all 0.2s ease;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 1px;
}

.ca-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.ca-btn:active {
  transform: translateY(0);
}

.color-avalanche-section canvas {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: auto;
  z-index: 5;
}

/* Responsive - Tablet */
@media (max-width: 900px) {
  .color-avalanche-section {
    height: 65vh;
    min-height: 400px;
  }
  .ca-title {
    font-size: 2.2rem;
  }
  .ca-desc {
    font-size: 1rem;
  }
}

/* Responsive - Mobile */
@media (max-width: 600px) {
  .color-avalanche-section {
    height: 55vh;
    min-height: 350px;
  }
  .ca-ui-layer {
    padding: 1.2rem;
  }
  .ca-title {
    font-size: 1.6rem;
  }
  .ca-desc {
    font-size: 0.85rem;
    max-width: 260px;
  }
  .ca-controls {
    margin-top: 1rem;
    gap: 0.5rem;
  }
  .ca-btn {
    padding: 0.5rem 0.9rem;
    font-size: 0.65rem;
    border-radius: 8px;
    letter-spacing: 0.5px;
  }
  .ca-color-body {
    font-size: 11px;
    letter-spacing: 0.3px;
  }

  .color-avalanche-section.ca-static {
    height: auto;
    min-height: 430px;
  }

  .color-avalanche-section.ca-static .ca-scene {
    padding: 9rem 1rem 1.5rem;
    gap: 0.5rem;
  }

  .ca-static-pill {
    min-height: 30px;
    padding: 0.45rem 0.7rem;
    font-size: 0.72rem;
  }
}

/* (Social Media placeholders removed — now using sm-carousel) */

/* ── Advertisement Section · Liquid Gradient Background ── */
#advertisements {
  position: relative;
  isolation: isolate;
  background: #0a0e27;
  transition: none;
}

body.night-theme #advertisements {
  background: #0a0e27;
}

#advertisements > .projectTitle,
#advertisements > .perf-marketing {
  position: relative;
  z-index: 2;
}

.lg-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.lg-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Scheme buttons — right rail of section */
.lg-color-controls {
  position: absolute;
  top: clamp(180px, 17vw, 240px);
  right: clamp(12px, 2vw, 28px);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  pointer-events: auto;
}

.lg-color-btn {
  padding: 7px 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lg-color-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-1px);
}

.lg-color-btn.active {
  background: rgba(255, 255, 255, 0.26);
  border-color: rgba(255, 255, 255, 0.65);
}

/* Adjust Colors toggle — left rail of section */
.lg-toggle-adjuster {
  position: absolute;
  top: clamp(180px, 17vw, 240px);
  left: clamp(12px, 2vw, 28px);
  z-index: 3;
  padding: 9px 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  pointer-events: auto;
}

.lg-toggle-adjuster:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-1px);
}

.lg-toggle-adjuster.hidden { display: none; }

/* Adjuster panel */
.lg-adjuster-panel {
  position: absolute;
  top: calc(clamp(180px, 17vw, 240px) + 48px);
  left: clamp(12px, 2vw, 28px);
  z-index: 4;
  width: min(320px, calc(100% - 24px));
  max-height: 540px;
  overflow-y: auto;
  background: rgba(10, 14, 39, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 16px;
  display: none;
  pointer-events: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.lg-adjuster-panel.open { display: block; }

.lg-adjuster-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.lg-adjuster-title {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lg-adjuster-close {
  background: none;
  border: 0;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  width: 26px;
  height: 26px;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: opacity 0.25s ease;
}

.lg-adjuster-close:hover { opacity: 1; }

.lg-picker-group { margin-bottom: 10px; }

.lg-picker-label {
  display: block;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  margin-bottom: 5px;
}

.lg-picker-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.lg-picker-input {
  width: 44px;
  height: 32px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  cursor: pointer;
  background: none;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
}

.lg-picker-input::-webkit-color-swatch-wrapper { padding: 0; }
.lg-picker-input::-webkit-color-swatch { border: none; border-radius: 4px; }

.lg-picker-value {
  flex: 1;
  min-width: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 5px;
  padding: 6px 8px;
  color: #fff;
  font-family: monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.lg-copy-btn,
.lg-export-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 5px;
  padding: 6px 10px;
  color: #fff;
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease;
  letter-spacing: 0.04em;
}

.lg-copy-btn:hover,
.lg-export-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}

.lg-copy-btn.copied,
.lg-export-btn.copied {
  background: rgba(76, 175, 80, 0.3);
  border-color: rgba(76, 175, 80, 0.6);
}

.lg-export-btn {
  display: block;
  width: 100%;
  padding: 10px;
  margin-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Narrow viewports: rails collapse into a top bar above the panel */
@media (max-width: 1100px) {
  .lg-toggle-adjuster {
    top: clamp(150px, 22vw, 200px);
    left: 14px;
  }
  .lg-color-controls {
    top: clamp(150px, 22vw, 200px);
    right: 14px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 62%;
    gap: 6px;
  }
  .lg-adjuster-panel {
    top: calc(clamp(150px, 22vw, 200px) + 48px);
    left: 14px;
  }
}

@media (max-width: 700px) {
  .lg-color-btn {
    padding: 5px 10px;
    font-size: 10px;
  }
  .lg-toggle-adjuster {
    padding: 6px 12px;
    font-size: 10px;
  }
  .lg-adjuster-panel {
    width: calc(100% - 28px);
    max-height: 460px;
  }
}

/* ── Performance Marketing Subsection ── */
.perf-marketing {
  width: 100%;
  max-width: 1100px;
  margin: 20px auto 0;
  padding: 0 clamp(12px, 4vw, 24px);
  box-sizing: border-box;
  overflow: hidden;
}

.perf-marketing .pm-subtitle {
  font-size: clamp(16px, 3vw, 24px);
  font-weight: 700;
  color: #e0e0e0;
  text-align: center;
  margin-bottom: clamp(12px, 2vw, 20px);
  letter-spacing: 1px;
}

.perf-marketing .pm-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(232, 146, 10, 0.08);
  border: 1.5px solid rgba(240, 217, 181, 0.25);
  border-left: 4px solid #e8920a;
  border-radius: 10px;
  padding: clamp(8px, 1.5vw, 14px) clamp(10px, 2vw, 18px);
  margin-bottom: clamp(12px, 2vw, 18px);
  font-size: clamp(10.5px, 1.4vw, 12.5px);
  color: #d4a96a;
  font-weight: 500;
  line-height: 1.5;
}

.perf-marketing .pm-disclaimer-title {
  font-weight: 800;
  color: #e8920a;
  font-size: clamp(10px, 1.2vw, 12px);
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.perf-marketing .pm-disclaimer-quote {
  font-style: italic;
}

.perf-marketing .pm-disclaimer-note {
  color: #a07040;
  font-size: clamp(9.5px, 1.1vw, 11px);
  display: block;
  margin-top: 2px;
}

.perf-marketing .pm-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: clamp(10px, 1.5vw, 14px);
  flex-wrap: wrap;
  gap: 10px;
}

.perf-marketing .pm-section-title {
  font-size: clamp(12px, 1.6vw, 15px);
  font-weight: 700;
  color: #e0e0e0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.perf-marketing .pm-live-badge {
  background: rgba(240, 240, 248, 0.1);
  color: #aaa;
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 600;
}

.perf-marketing .pm-time-pills {
  display: flex;
  gap: 4px;
}

.perf-marketing .pm-time-pill {
  font-size: clamp(10px, 1.2vw, 11px);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  color: #888;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  background: transparent;
  border: none;
}

.perf-marketing .pm-time-pill.active {
  background: #e0e0e0;
  color: #1a1a2e;
}

.perf-marketing .pm-legend {
  display: flex;
  align-items: center;
  gap: clamp(4px, 1vw, 10px);
  flex-wrap: wrap;
  margin-bottom: 12px;
  justify-content: flex-start;
}

.perf-marketing .pm-legend-item {
  display: flex;
  align-items: center;
  gap: clamp(3px, 0.5vw, 5px);
  font-size: clamp(9px, 1.2vw, 11px);
  font-weight: 600;
  color: #aaa;
  cursor: pointer;
  padding: clamp(2px, 0.5vw, 4px) clamp(4px, 0.8vw, 8px);
  border-radius: 6px;
  transition: background 0.2s, opacity 0.3s;
  user-select: none;
}
.perf-marketing .pm-legend-item:hover { background: rgba(255, 255, 255, 0.05); }
.perf-marketing .pm-legend-item.dimmed { opacity: 0.3; }

.perf-marketing .pm-legend-dot {
  width: clamp(6px, 0.8vw, 8px);
  height: clamp(6px, 0.8vw, 8px);
  border-radius: 50%;
  flex-shrink: 0;
}

.perf-marketing .pm-chart-card {
  background: rgba(26, 26, 46, 0.6);
  border-radius: clamp(10px, 1.6vw, 16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: clamp(10px, 2vw, 20px) clamp(10px, 2vw, 20px) clamp(8px, 1.5vw, 14px);
  margin-bottom: clamp(10px, 1.5vw, 14px);
  position: relative;
  backdrop-filter: blur(8px);
}

.perf-marketing .pm-chart-area {
  position: relative;
  width: 100%;
  height: clamp(140px, 22vw, 240px);
}

.perf-marketing .pm-chart-area canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.perf-marketing .pm-chart-tooltip {
  position: absolute;
  background: #1a1a2e;
  color: white;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 11px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s;
  z-index: 10;
  min-width: 130px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.perf-marketing .pm-chart-tooltip.visible { opacity: 1; }
.perf-marketing .pm-tooltip-label { font-size: 10px; color: #aaa; margin-bottom: 6px; font-weight: 600; }
.perf-marketing .pm-tooltip-row { display: flex; align-items: center; gap: 6px; margin-top: 3px; }
.perf-marketing .pm-tooltip-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.perf-marketing .pm-tooltip-name { color: #ccc; font-size: 10px; }
.perf-marketing .pm-tooltip-val { margin-left: auto; font-weight: 700; font-size: 11px; }

.perf-marketing .pm-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(8px, 1.2vw, 12px);
}

.perf-marketing .pm-metric-card {
  background: rgba(26, 26, 46, 0.6);
  border-radius: clamp(10px, 1.4vw, 14px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: clamp(10px, 1.6vw, 16px) clamp(10px, 1.4vw, 14px) clamp(8px, 1.2vw, 12px);
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.perf-marketing .pm-metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.perf-marketing .pm-metric-icon {
  font-size: clamp(16px, 2vw, 20px);
  margin-bottom: clamp(4px, 0.8vw, 8px);
  display: block;
}

.perf-marketing .pm-metric-label {
  font-size: clamp(8.5px, 1vw, 10px);
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 4px;
}

.perf-marketing .pm-metric-value {
  font-size: clamp(18px, 2.6vw, 26px);
  font-weight: 800;
  color: #e0e0e0;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-bottom: 5px;
  transition: color 0.3s;
}

.perf-marketing .pm-metric-change {
  font-size: clamp(9px, 1.1vw, 11px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 2px;
}
.perf-marketing .pm-metric-change.up { color: #16a34a; }
.perf-marketing .pm-metric-change.down { color: #dc2626; }

.perf-marketing .pm-mini-spark {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70px;
  height: 36px;
  opacity: 0.25;
}

.perf-marketing .pm-cpc-roas-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(8px, 1.2vw, 12px);
  margin-top: clamp(8px, 1.2vw, 12px);
}

.perf-marketing .pm-cpc-roas-card {
  background: rgba(26, 26, 46, 0.6);
  border-radius: clamp(10px, 1.4vw, 14px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: clamp(10px, 1.6vw, 16px) clamp(10px, 1.4vw, 14px) clamp(8px, 1.2vw, 12px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  backdrop-filter: blur(8px);
}

.perf-marketing .pm-cpc-header,
.perf-marketing .pm-roas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.perf-marketing .pm-cpc-label-group,
.perf-marketing .pm-roas-label-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.perf-marketing .pm-cpc-sub,
.perf-marketing .pm-roas-sub {
  font-size: clamp(9px, 1vw, 10px);
  color: #777;
  font-weight: 400;
}

/* ── Performance Marketing Responsive ── */

/* Tablet landscape / small desktop */
@media (max-width: 900px) {
  .perf-marketing .pm-metrics-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablet portrait */
@media (max-width: 768px) {
  .perf-marketing {
    padding: 0 clamp(10px, 4vw, 20px);
  }
  .perf-marketing .pm-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .perf-marketing .pm-cpc-roas-row {
    grid-template-columns: 1fr;
  }
  .perf-marketing .pm-legend {
    gap: 6px;
    justify-content: center;
  }
  .perf-marketing .pm-legend-item {
    font-size: 10px;
    padding: 3px 6px;
  }
  .perf-marketing .pm-chart-area {
    height: clamp(160px, 30vw, 220px);
  }
}

/* Mobile */
@media (max-width: 640px) {
  .perf-marketing .pm-section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .perf-marketing .pm-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .perf-marketing .pm-cpc-roas-row {
    grid-template-columns: 1fr;
  }
  .perf-marketing .pm-disclaimer {
    flex-direction: row;
    gap: 8px;
  }
  .perf-marketing .pm-metric-card {
    padding: 10px 10px 8px;
  }
  .perf-marketing .pm-cpc-roas-card {
    padding: 10px 10px 8px;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .perf-marketing .pm-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }
  .perf-marketing .pm-metric-value {
    font-size: 18px;
  }
  .perf-marketing .pm-legend {
    justify-content: center;
    gap: 4px;
  }
  .perf-marketing .pm-legend-item {
    font-size: 9px;
    padding: 2px 4px;
  }
  .perf-marketing .pm-chart-area {
    height: 140px;
  }
  .perf-marketing .pm-subtitle {
    font-size: 16px;
  }
}

/* Very small mobile */
@media (max-width: 340px) {
  .perf-marketing .pm-metrics-grid {
    grid-template-columns: 1fr;
  }
}

#project1 { background-image: url(./Images/projects/Project1.png); }
#project2 { background-image: url(./Images/projects/Project2.png); }
#project3 { background-image: url(./Images/projects/Project3.png); }
#project4 { background-image: url(./Images/projects/Project4.png); }
#project5 { background-image: url(./Images/projects/Project5.png); }
#project6 { background-image: url(./Images/projects/Project6.png); }
#project7 { background-image: url(./Images/projects/Project7.png); }
#project8 { background-image: url(./Images/projects/Project8.png); }
#project9 { background-image: url(./Images/projects/Project9.png); }
#project10 { background-image: url(./Images/projects/Project10.png); }
#project11 { background-image: url(./Images/projects/Project11.png); }
#project12 { background-image: url(./Images/projects/Project12.png); }
#project13 { background-image: url(./Images/projects/Project13.png); }
#project14 { background-image: url(./Images/projects/Project14.png); }

.projectCard {
  width: 80%;
  aspect-ratio: 1917 / 966;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #1a1a2e;
  position: relative;
  margin: 0 auto;
  border-radius: 12px;
  overflow: visible;
  cursor: pointer;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Popup effect on hover */
.projectCard:hover {
  transform: scale(1.03);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

/* Rainbow animated border */
.projectCard::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  padding: 3px;
  background: linear-gradient(90deg, var(--orange), var(--yellow), var(--green), var(--blue), var(--purple), var(--pink), var(--red));
  background-size: 200%;
  animation: animate 3s infinite linear;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask-composite: exclude;
  z-index: 10;
  pointer-events: none;
}

/* Shadow overlay on default */
.projectCard::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(20,20,40,0.25) 0%, rgba(20,20,40,0.65) 100%);
  z-index: 1;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

/* On hover - rainbow speeds up, overlay clears */
.projectCard:hover::before {
  animation: animate 1s infinite linear;
}
.projectCard:hover::after {
  opacity: 0;
}

.projectCard .projectCardOverlay { display: none; }

/* College Project tag */
.project-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(78, 69, 213, 0.85);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  z-index: 15;
  letter-spacing: 0.5px;
  backdrop-filter: blur(4px);
  pointer-events: none;
}

/* --- Number: hidden by default, appears on hover --- */
.projectNumber {
  position: absolute;
  font-size: 200px;
  font-weight: 600;
  color: #fff;
  display: none;
  z-index: 10;
  transition: 0.8s;
}
.rightNumber {
  top: -45px;
  right: -45px;
}
.leftNumber {
  top: -45px;
  left: -45px;
}
.projectCard:hover .projectNumber {
  display: block;
}

/* --- Content container: extends beyond card for outside elements --- */
.projectContent {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}
.projectContent > * { pointer-events: auto; }

.leftProjectContent,
.rightProjectContent {
  left: 0; right: 0;
}

/* --- Heading: ABOVE card, top-left, always visible --- */
.projectHeading {
  position: absolute;
  top: -55px;
  left: 5px;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.2;
  color: #333;
  transition: all 0.4s ease;
  font-family: 'Space Grotesk', sans-serif;
  letter-spacing: -0.5px;
}

.projectCard:hover .projectHeading {
  background: linear-gradient(90deg, #e84949, #ff8a65);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transform: scale(1.05);
}

/* --- Icons: ABOVE card, top-right, slide UP on hover --- */
.projectSkillsContainer {
  position: absolute;
  top: -40px;
  right: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  justify-content: flex-end;
  max-width: 200px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease 0.05s;
}

.projectCard:hover .projectSkillsContainer {
  opacity: 1;
  transform: translateY(0);
}

.projectSkill {
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.projectSkillsContainer--lotwaala,
.projectSkillsContainer--colourtribe,
.projectSkillsContainer--silveri {
  right: 0;
  max-width: min(100%, 360px);
  flex-wrap: nowrap;
  gap: 0.25em;
  align-items: center;
  justify-content: flex-end;
}

.projectSkillsContainer--lotwaala .projectSkill,
.projectSkillsContainer--colourtribe .projectSkill,
.projectSkillsContainer--silveri .projectSkill {
  width: 24px;
  height: 24px;
}

/* --- Description: BELOW card, bottom-left, slide DOWN on hover --- */
.projectSubHeading {
  position: absolute;
  bottom: -32px;
  left: 5px;
  font-size: 14px;
  font-style: normal;
  color: #555;
  max-width: 60%;
  opacity: 0;
  transform: translateY(-15px);
  transition: all 0.4s ease 0.1s;
  line-height: 1.4;
}

.projectCard:hover .projectSubHeading {
  opacity: 1;
  transform: translateY(0);
}

.projectSubHeading--lotwaala {
  bottom: -54px;
  max-width: 78%;
  color: #2d3436;
  font-weight: 700;
  line-height: 1.35;
}

/* --- Icons: BELOW card, bottom-right, slide DOWN on hover (same as description) --- */
.btnGroup {
  position: absolute;
  bottom: -42px;
  right: 5px;
  display: flex;
  gap: 0.7rem;
  align-items: center;
  opacity: 0;
  transform: translateY(-15px);
  transition: all 0.4s ease 0.1s;
}

.projectCard:hover .btnGroup {
  opacity: 1;
  transform: translateY(0);
}

/* GitHub / Link image icons inside btnGroup (mask-image approach) */
.btn-icon {
  display: inline-block;
  width: 32px;
  height: 32px;
  background-color: #fff;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}

.github-icon {
  -webkit-mask-image: url('./Images/stack/Github.svg');
  mask-image: url('./Images/stack/Github.svg');
}

.link-icon {
  -webkit-mask-image: url('./Images/stack/link-icon.svg');
  mask-image: url('./Images/stack/link-icon.svg');
}

.btnGroup a:hover .btn-icon {
  background-color: #e84949;
  transform: scale(1.15);
}

.btnGroup .btnProject {
  border: none;
  outline: none;
  border-radius: 6px;
  transition: opacity 0.3s ease, transform 0.3s ease;
  cursor: pointer;
  display: none;
}

.icon {
  cursor: pointer;
  color: white;
  font-size: 36px;
  transition: all 0.3s;
}

.icon:hover {
  color: #e84949;
}

/* GitHub & Live Link icons inherit the same animation as btnGroup */
.btnGroup > a {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* --- Gallery Grid Layout (All project sections) --- */
.projectContainer.galleryGrid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 148px 40px;
  padding: 60px 5% 100px;
}

.projectContainer.galleryGrid .projectCard {
  width: 100%;
  height: auto;
  aspect-ratio: 1919 / 970;
  margin: 0;
  border-radius: 12px;
  background-size: cover;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s ease;
  z-index: 1;
}

.projectContainer.galleryGrid .projectCard:hover {
  transform: scale(1.08);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  z-index: 50;
}

.projectContainer.galleryGrid .projectHeading {
  top: -50px;
  font-size: 28px;
}

.projectContainer.galleryGrid .projectNumber {
  font-size: 140px;
}

.projectContainer.galleryGrid .projectSubHeading {
  bottom: -43px;
  max-width: 78%;
  color: #2d3436;
  font-weight: 700;
  line-height: 1.35;
}

.projectContainer.galleryGrid .btnGroup {
  bottom: -38px;
}

/* Project Section End  */

/* About Section Start */
.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(20px, 3vw, 40px) clamp(14px, 4vw, 48px) clamp(20px, 2vw, 30px);
  box-sizing: border-box;
}

.about-tv-wrap,
.about-phone-wrap {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  justify-self: start;
}

.about-phone-wrap {
  display: grid;
  place-items: center;
  min-height: clamp(540px, 52vw, 680px);
  perspective: 1400px;
}

.bb-phone-3d {
  --bb-scale: 1.04;
  --bb-rx: 0deg;
  --bb-ry: 0deg;
  --bb-rz: 0deg;
  position: relative;
  width: 268px;
  height: 499px;
  border: 3px solid #050505;
  border-radius: 45% / 10%;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.34), transparent 14%),
    linear-gradient(135deg, #777 0%, #333 18%, #090909 100%);
  box-shadow:
    0 0 0 5px #333,
    26px 34px 42px rgba(0, 0, 0, 0.42),
    inset 16px 0 26px rgba(255, 255, 255, 0.07),
    inset -18px -8px 32px rgba(0, 0, 0, 0.75);
  transform: scale(var(--bb-scale)) rotateX(var(--bb-rx)) rotateY(var(--bb-ry)) rotateZ(var(--bb-rz));
  transform-origin: center center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform;
}

@media (max-width: 900px) {
  .bb-phone-3d {
    --bb-scale: 0.94;
  }
}

@media (max-width: 520px) {
  .bb-phone-3d {
    --bb-scale: 0.86;
  }
}

.bb-phone-3d::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 10px;
  bottom: 26px;
  width: 260px;
  height: 18px;
  border-radius: 50%;
  background: rgba(120, 120, 120, 0.7);
  box-shadow: 28px 76px 18px 2px rgba(0, 0, 0, 0.38);
  transform: translateZ(-38px) rotateX(78deg);
}

.bb-speaker {
  position: absolute;
  left: 50%;
  top: 22px;
  width: 66px;
  height: 5px;
  transform: translateX(-50%);
  border: 1px inset #555;
  border-radius: 5px;
  background:
    repeating-linear-gradient(90deg, #1b1b1b 0 2px, #4b4b4b 2px 4px);
  box-shadow: inset 0 0 2px #000;
}

.bb-camera {
  position: absolute;
  right: 65px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #555;
  box-shadow: inset 0 0 1px #000;
}

.bb-camera::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8c8c8c;
  border: 3px solid #444;
}

.bb-led {
  position: absolute;
  right: 41px;
  top: 21px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #292929;
  animation: bbLedBlink 5s step-end infinite;
}

@keyframes bbLedBlink {
  45% { background-color: #e92d2d; box-shadow: 0 0 12px rgba(233, 45, 45, 0.85); }
  50% { background-color: #292929; box-shadow: none; }
  90% { background-color: #f8d94a; box-shadow: 0 0 12px rgba(248, 217, 74, 0.8); }
  95% { background-color: #292929; box-shadow: none; }
}

.bb-brand {
  position: absolute;
  left: 50%;
  top: 46px;
  transform: translateX(-50%);
  width: 104px;
  height: 25px;
  color: #e8e8e8;
  font-size: 13px;
  font-weight: 800;
  line-height: 25px;
  text-align: center;
  letter-spacing: 0.03em;
  text-shadow: 0 1px 0 #000;
}

.bb-screen {
  position: absolute;
  left: 11px;
  top: 75px;
  width: 246px;
  height: 246px;
  overflow: hidden;
  background:
    radial-gradient(circle at 28% 12%, rgba(255, 255, 255, 0.22), transparent 24%),
    #08080b;
  box-shadow:
    inset 0 0 3px #000,
    inset 0 0 0 2px rgba(255, 255, 255, 0.06),
    0 8px 20px rgba(0, 0, 0, 0.45);
}

.bb-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.18), transparent 32%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 5px);
  mix-blend-mode: screen;
}

.bb-screen-video {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #050505;
}

.bb-side-button {
  position: absolute;
  right: -10px;
  width: 2px;
  border-left: 3px solid #555;
  border-right: 1px solid #ccc;
  border-radius: 0 3px 4px 0;
  background: linear-gradient(180deg, #fff 0%, #aaa 12%, #aaa 86%, #222 90%);
}

.bb-vol-up {
  top: 87px;
  height: 42px;
}

.bb-silent {
  top: 136px;
  height: 31px;
}

.bb-vol-down {
  top: 170px;
  height: 45px;
}

.bb-keyboard {
  position: absolute;
  left: -6px;
  bottom: 30px;
  width: 280px;
  font-size: 0;
}

.bb-key-row {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin: 0 5px;
  padding-top: 5px;
  border-top: 1px solid #222;
  background:
    linear-gradient(90deg, #f3f3f3 0 5px, #787878 5px 230px, #444 270px, #eee 275px);
}

.bb-key-row span {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  width: 23px;
  height: 25px;
  padding-bottom: 4px;
  overflow: hidden;
  background: radial-gradient(32px at 50% 90%, #555 0%, #1a1a1a 55%, #050505 100%);
  border-left: 1px solid #444;
  border-right: 1px solid #222;
  color: #eee;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  text-shadow: 0 1px 1px #000;
}

.bb-key-row span[data-bb-control] {
  cursor: pointer;
  transition: color 0.15s ease, text-shadow 0.15s ease, transform 0.12s ease;
}

.bb-key-row span[data-bb-control]:hover,
.bb-key-row span[data-bb-control].is-clicked {
  color: #ffffff;
  text-shadow: 0 0 7px rgba(255, 255, 255, 0.95);
}

.bb-key-row span[data-bb-control]:active,
.bb-key-row span[data-bb-control].is-clicked {
  transform: translateY(1px) scale(0.97);
}

.bb-key-row span small {
  position: absolute;
  top: 1px;
  left: 2px;
  font-size: 8px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.72);
}

.bb-key-row span:nth-child(n + 6) small {
  left: auto;
  right: 2px;
}

.bb-key-row .bb-key-wide {
  width: 29px;
  font-size: 10px;
  align-items: center;
  padding-bottom: 0;
}

.bb-key-row-bottom {
  width: 216px;
  margin: 0 auto;
  border-radius: 0 0 30% 30% / 100%;
  border-bottom: 1px solid #000;
  box-shadow: 0 0 3px 1px #000;
  overflow: hidden;
}

.bb-space {
  width: 80px !important;
}

.bb-space::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 50%;
  width: 52px;
  height: 3px;
  transform: translateX(-50%);
  border: 2px solid #fff;
  border-top: 0;
  opacity: 0.9;
}

.about-user-image {
  position: absolute;
  right: clamp(-80px, -5vw, 0px);
  bottom: 0;
  width: 35%;
  max-width: 500px;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.3));
  transition: transform 0.3s ease, filter 0.3s ease;
  margin: 0;
  z-index: 1;
}

.about-user-image:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 25px 50px rgba(192, 132, 252, 0.4));
}

#about {
  position: relative;
  margin-top: 0;
}

.tv-frame {
  width: 100%;
  aspect-ratio: 1.8 / 1;
  border: 0;
  display: block;
  background: transparent;
  overflow: hidden;
  border-radius: 5px;
  clip-path: inset(0 round 5px);
  color-scheme: dark;
}

.about-copy {
  color: #d9d9e2;
  max-width: 60ch;
}

.about-heading {
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 clamp(8px, 1vw, 14px);
  letter-spacing: 0.3px;
  line-height: 1.2;
}

.about-lead {
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 600;
  color: #c4c4cd;
  margin: 0 0 clamp(14px, 2vw, 22px);
  line-height: 1.55;
}

.about-para {
  font-size: clamp(13px, 1.4vw, 15px);
  line-height: 1.7;
  color: #a8a8b4;
  margin: 0 0 clamp(10px, 1.4vw, 16px);
}

@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: clamp(18px, 3vw, 28px);
  }
  .about-tv-wrap {
    order: -1;
    justify-self: center;
  }
  .about-user-image {
    position: static;
    width: 60%;
    max-width: 300px;
    margin: clamp(20px, 3vw, 30px) auto 0;
  }
  .about-copy {
    margin: 0 auto;
  }
  .ak-resume {
    text-align: left;
  }
}

/* Smartphone: Image below NJMS, above profile */
@media (max-width: 600px) {
  .about-user-image {
    display: block;
    width: 70%;
    max-width: 280px;
    margin: 0 auto -25px;
    position: static !important;
    right: auto;
    bottom: auto;
  }
}

/* === Resume Panel === */
.ak-resume {
  width: 100%;
  text-align: left;
}

.ak-head { margin-bottom: clamp(14px, 2vw, 22px); }

.ak-name {
  font-size: clamp(22px, 3.2vw, 32px);
  font-weight: 800;
  margin: 0 0 4px;
  letter-spacing: 0.2px;
  line-height: 1.15;
  background: linear-gradient(90deg, #fff 0%, #c084fc 45%, #fff 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: akNameShine 6s linear infinite;
}

@keyframes akNameShine {
  0%   { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}

.ak-role {
  font-size: clamp(12px, 1.5vw, 15px);
  color: #a4a4b2;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.ak-chips-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.ak-mini-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  padding: 5px 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: #c0c0cb;
  font-weight: 600;
  letter-spacing: 0.2px;
  text-decoration: none;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.ak-mini-chip--link {
  padding: 4px 12px 4px 34px;
  font-size: 11.5px;
  position: relative;
  overflow: visible;
  margin-left: 14px;
}

.ak-mini-chip--link:hover {
  background: rgba(192, 132, 252, 0.12);
  border-color: rgba(192, 132, 252, 0.5);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px -6px rgba(192, 132, 252, 0.55);
}

.ak-mini-chip-logo {
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 50%;
  background: #ffffff;
  padding: 3px;
  box-shadow: 0 0 0 1.5px #c084fc, 0 3px 10px rgba(0, 0, 0, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  z-index: 1;
}

.ak-mini-chip--link:hover .ak-mini-chip-logo {
  transform: translateY(-50%) scale(1.06);
  box-shadow: 0 0 0 2px #c084fc, 0 0 24px rgba(192, 132, 252, 0.65), 0 4px 14px rgba(0, 0, 0, 0.5);
}

.ak-tabs {
  display: flex;
  gap: 2px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}

.ak-tab {
  background: transparent;
  border: 0;
  color: #8a8a95;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 14px;
  cursor: pointer;
  position: relative;
  transition: color 0.25s ease;
  letter-spacing: 0.3px;
  font-family: inherit;
}

.ak-tab:hover { color: #d6d6df; }
.ak-tab.active { color: #fff; }

.ak-tab::after {
  content: '';
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, #e84949, #c084fc);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

.ak-tab.active::after { transform: scaleX(1); }

.ak-panels { position: relative; }

.ak-panels.ak-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(16px, 2.4vw, 28px);
}

.ak-panel {
  display: none;
  animation: akPanelIn 0.4s ease both;
}

.ak-panel.active,
.ak-panel.is-shown { display: block; }

.ak-panel-title {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  color: #c084fc;
  font-weight: 800;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(192, 132, 252, 0.2);
  position: relative;
}

.ak-panel-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 32px;
  height: 1px;
  background: linear-gradient(90deg, #e84949, #c084fc);
}

@media (max-width: 700px) {
  .ak-panels.ak-split {
    grid-template-columns: 1fr;
    gap: clamp(14px, 3vw, 22px);
  }
}

@keyframes akPanelIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.ak-para {
  font-size: clamp(13px, 1.4vw, 15px);
  color: #b4b4bd;
  line-height: 1.65;
  margin: 0 0 14px;
}

.ak-skillgroup { margin-bottom: 14px; }
.ak-skillgroup:last-child { margin-bottom: 0; }

.ak-skill-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.ak-skill-pills span {
  font-size: 11.5px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #c4c4cc;
  font-weight: 500;
  transition: all 0.25s ease;
  opacity: 0;
  animation: akPillIn 0.4s ease forwards;
}

.ak-panel.active .ak-skill-pills span:nth-child(1) { animation-delay: 0.02s; }
.ak-panel.active .ak-skill-pills span:nth-child(2) { animation-delay: 0.06s; }
.ak-panel.active .ak-skill-pills span:nth-child(3) { animation-delay: 0.10s; }
.ak-panel.active .ak-skill-pills span:nth-child(4) { animation-delay: 0.14s; }
.ak-panel.active .ak-skill-pills span:nth-child(5) { animation-delay: 0.18s; }
.ak-panel.active .ak-skill-pills span:nth-child(6) { animation-delay: 0.22s; }

@keyframes akPillIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.ak-skill-pills span:hover {
  background: rgba(192, 132, 252, 0.15);
  border-color: rgba(192, 132, 252, 0.5);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -4px rgba(192, 132, 252, 0.45);
}

.ak-timeline {
  position: relative;
  padding-left: 26px;
}

.ak-timeline::before {
  content: '';
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 6px;
  width: 2px;
  background: linear-gradient(to bottom, #e84949, #c084fc, rgba(192, 132, 252, 0.2));
  border-radius: 1px;
}

.ak-t-item {
  position: relative;
  padding-bottom: 16px;
}

.ak-t-item:last-child { padding-bottom: 0; }

.ak-timeline::after {
  content: '';
  position: absolute;
  left: 1px;
  width: 12px;
  height: 38px;
  bottom: 0;
  background: radial-gradient(ellipse at center, #c084fc 8%, rgba(192, 132, 252, 0.7) 35%, transparent 70%);
  filter: blur(3px);
  border-radius: 50%;
  pointer-events: none;
  animation: akSnakeTravel 6s linear infinite;
  z-index: 0;
}

@keyframes akSnakeTravel {
  0%   { bottom: -42px; opacity: 0; }
  6%   { opacity: 1; }
  94%  { opacity: 1; bottom: calc(100% + 4px); }
  100% { bottom: calc(100% + 42px); opacity: 0; }
}

.ak-t-dot {
  position: absolute;
  left: -26px;
  top: 3px;
  width: 14px;
  height: 14px;
  background: #c084fc;
  border: 3px solid #1a1a2e;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #c084fc;
  animation: akDotSnakePulse 6s ease-in-out infinite;
  z-index: 1;
}

.ak-t-item:nth-child(1) .ak-t-dot { background: #ff4565; box-shadow: 0 0 0 2px #ff4565; animation-delay: 5s; }
.ak-t-item:nth-child(2) .ak-t-dot { background: #f59e0b; box-shadow: 0 0 0 2px #f59e0b; animation-delay: 4s; }
.ak-t-item:nth-child(3) .ak-t-dot { background: #10b981; box-shadow: 0 0 0 2px #10b981; animation-delay: 3s; }
.ak-t-item:nth-child(4) .ak-t-dot { background: #3b82f6; box-shadow: 0 0 0 2px #3b82f6; animation-delay: 2s; }
.ak-t-item:nth-child(5) .ak-t-dot { background: #c084fc; box-shadow: 0 0 0 2px #c084fc; animation-delay: 1s; }
.ak-t-item:nth-child(6) .ak-t-dot { background: #94a3b8; box-shadow: 0 0 0 2px #94a3b8; animation-delay: 0s; }

@keyframes akDotSnakePulse {
  0%, 100%   { transform: scale(1); }
  12%        { transform: scale(1.55); }
  22%        { transform: scale(1); }
}

.ak-t-period {
  font-size: 10px;
  color: #888;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 2px;
}

.ak-timeline {
  container-type: inline-size;
  container-name: akTimeline;
}

.ak-t-role {
  font-size: clamp(11px, 5.2cqi, 14px);
  color: #fff;
  font-weight: 700;
  margin-bottom: 2px;
  line-height: 1.3;
  letter-spacing: -0.15px;
  overflow-wrap: anywhere;
}

@container akTimeline (min-width: 360px) {
  .ak-t-role { white-space: nowrap; }
}

.ak-t-company {
  font-size: 12px;
  color: #9a9aa3;
  line-height: 1.35;
}

.ak-projects-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.ak-proj {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: #d0d0d8;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  position: relative;
  overflow: hidden;
}

.ak-proj::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 40%, rgba(192, 132, 252, 0.18) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 0.55s ease;
  pointer-events: none;
}

.ak-proj:hover::before { transform: translateX(100%); }

.ak-proj:hover {
  border-color: rgba(192, 132, 252, 0.5);
  color: #fff;
  transform: translateY(-2px);
}

.ak-proj-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c084fc;
  flex-shrink: 0;
  box-shadow: 0 0 10px currentColor;
}

.ak-proj:nth-child(1) .ak-proj-dot { background: #e84949; }
.ak-proj:nth-child(2) .ak-proj-dot { background: #f59e0b; }
.ak-proj:nth-child(3) .ak-proj-dot { background: #10b981; }
.ak-proj:nth-child(4) .ak-proj-dot { background: #3b82f6; }
.ak-proj:nth-child(5) .ak-proj-dot { background: #8b5cf6; }
.ak-proj:nth-child(6) .ak-proj-dot { background: #ec4899; }
.ak-proj:nth-child(7) .ak-proj-dot { background: #06b6d4; }
.ak-proj:nth-child(8) .ak-proj-dot { background: #84cc16; }

@media (max-width: 560px) {
  .ak-projects-grid { grid-template-columns: 1fr; }
  .ak-tab { padding: 10px 10px; font-size: 12px; }
}

/* --- About Resume · Light Theme Overrides (cream section bg) --- */
/* Scoped with body:not(.night-theme) so the dark base styles take over
   when the user/time switches into night mode. */
body:not(.night-theme) #about .ak-name {
  background: linear-gradient(90deg, #1a1a2e 0%, #6d28d9 45%, #1a1a2e 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

body:not(.night-theme) #about .ak-role {
  color: #27272a;
}

body:not(.night-theme) #about .ak-mini-chip {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.18);
  color: #27272a;
}

body:not(.night-theme) #about .ak-mini-chip--link:hover {
  background: rgba(124, 58, 237, 0.1);
  border-color: rgba(124, 58, 237, 0.6);
  color: #1e1b4b;
  box-shadow: 0 6px 16px -6px rgba(124, 58, 237, 0.45);
}

body:not(.night-theme) #about .ak-panel-title {
  color: #6d28d9;
  border-bottom-color: rgba(109, 40, 217, 0.3);
}

body:not(.night-theme) #about .ak-panel-title::after {
  background: linear-gradient(90deg, #e84949, #6d28d9);
}

body:not(.night-theme) #about .ak-para {
  color: #27272a;
}

body:not(.night-theme) #about .ak-skill-pills span {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.12);
  color: #27272a;
}

body:not(.night-theme) #about .ak-skill-pills span:hover {
  background: rgba(109, 40, 217, 0.14);
  border-color: rgba(109, 40, 217, 0.6);
  color: #1e1b4b;
  box-shadow: 0 4px 12px -4px rgba(109, 40, 217, 0.4);
}

body:not(.night-theme) #about .ak-timeline::before {
  background: linear-gradient(to bottom, #e84949, #6d28d9, rgba(109, 40, 217, 0.3));
}

body:not(.night-theme) #about .ak-t-dot {
  border-color: #f5f0eb;
}

body:not(.night-theme) #about .ak-t-role {
  color: #0f172a;
  text-shadow: none;
}

body:not(.night-theme) #about .ak-t-period {
  color: #3f3f46;
}

body:not(.night-theme) #about .ak-t-company {
  color: #27272a;
}

body:not(.night-theme) #about .ak-tab {
  color: #52525b;
}

body:not(.night-theme) #about .ak-tab:hover {
  color: #27272a;
}

body:not(.night-theme) #about .ak-tab.active {
  color: #18181b;
}

body:not(.night-theme) #about .ak-tabs {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

body:not(.night-theme) #about .about-copy {
  color: #27272a;
}

/* --- About Resume · Dark Theme (night-theme on dark section bg) --- */
body.night-theme #about .ak-t-dot {
  border-color: #181818;
}
/* About Section End */

/* IT Specialist Section Start */
#itSpecialist {
  padding-bottom: clamp(40px, 6vw, 80px);
  background: #0b0b18;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

#itSpecialist .projectTitle,
#itSpecialist .it-wrap {
  position: relative;
  z-index: 2;
}

.it-bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
  display: block;
}

.it-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 20px auto 0;
  padding: 0 clamp(12px, 4vw, 24px);
  box-sizing: border-box;
}

.it-intro {
  text-align: center;
  color: #c0c0c0;
  font-size: clamp(12px, 1.6vw, 15px);
  margin: 0 0 clamp(18px, 3vw, 28px);
  line-height: 1.5;
}

.it-solve {
  margin-bottom: clamp(20px, 3vw, 30px);
}

.it-solve-label {
  font-size: 11px;
  color: #808088;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  font-weight: 800;
  margin-bottom: 12px;
  text-align: center;
}

.it-solve-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.6vw, 16px);
}

.it-solve-card {
  --solve-accent: #c084fc;
  --solve-glow: rgba(192, 132, 252, 0.25);
  position: relative;
  background: rgba(15, 15, 25, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid var(--solve-accent);
  border-radius: 10px;
  padding: 12px 14px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  display: flex;
  align-items: center;
  gap: 12px;
}

.it-solve-card[data-solve="1"] { --solve-accent: #f59e0b; --solve-glow: rgba(245, 158, 11, 0.35); }
.it-solve-card[data-solve="2"] { --solve-accent: #3b82f6; --solve-glow: rgba(59, 130, 246, 0.35); }
.it-solve-card[data-solve="3"] { --solve-accent: #10b981; --solve-glow: rgba(16, 185, 129, 0.35); }
.it-solve-card[data-solve="4"] { --solve-accent: #ef4444; --solve-glow: rgba(239, 68, 68, 0.35); }
.it-solve-card[data-solve="5"] { --solve-accent: #a855f7; --solve-glow: rgba(168, 85, 247, 0.35); }
.it-solve-card[data-solve="6"] { --solve-accent: #06b6d4; --solve-glow: rgba(6, 182, 212, 0.35); }

.it-solve-card:hover {
  transform: translateY(-3px);
  border-color: var(--solve-accent);
  background: rgba(20, 20, 32, 0.75);
  box-shadow: 0 10px 26px -10px var(--solve-glow);
}

.it-solve-icon {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
  filter: drop-shadow(0 0 10px var(--solve-glow));
  transition: transform 0.3s ease;
}

.it-solve-card:hover .it-solve-icon {
  transform: scale(1.1) rotate(-4deg);
}

.it-solve-text {
  flex: 1;
  min-width: 0;
}

.it-solve-title {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 2px;
  line-height: 1.25;
  letter-spacing: 0.1px;
}

.it-solve-desc {
  font-size: 11px;
  color: #9a9aa3;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .it-solve-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .it-solve-grid { grid-template-columns: 1fr; }
}

.it-categories {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(14px, 2vw, 22px);
}

.it-cat {
  position: relative;
  background: linear-gradient(160deg, rgba(26, 26, 46, 0.92), rgba(35, 35, 60, 0.75));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: clamp(16px, 2.3vw, 24px);
  overflow: hidden;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
  --cat-accent: #c084fc;
  --cat-accent-soft: rgba(192, 132, 252, 0.16);
}

.it-cat[data-cat="1"] { --cat-accent: #3b82f6; --cat-accent-soft: rgba(59, 130, 246, 0.16); }
.it-cat[data-cat="2"] { --cat-accent: #f59e0b; --cat-accent-soft: rgba(245, 158, 11, 0.16); }
.it-cat[data-cat="3"] { --cat-accent: #ef4444; --cat-accent-soft: rgba(239, 68, 68, 0.16); }
.it-cat[data-cat="4"] { --cat-accent: #a855f7; --cat-accent-soft: rgba(168, 85, 247, 0.16); }

.it-cat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--cat-accent);
  opacity: 0.8;
  transition: opacity 0.3s ease, height 0.3s ease;
}

.it-cat::after {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, var(--cat-accent-soft), transparent 70%);
  pointer-events: none;
  opacity: 0.8;
  transition: opacity 0.35s ease;
}

.it-cat:hover {
  transform: translateY(-5px);
  border-color: var(--cat-accent);
  box-shadow: 0 14px 34px -14px var(--cat-accent);
}

.it-cat:hover::before { height: 4px; opacity: 1; }
.it-cat:hover::after { opacity: 1; }


.it-cat-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.it-cat-badge {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: var(--cat-accent);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid currentColor;
  padding: 3px 9px;
  border-radius: 5px;
}

.it-cat-emoji {
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

.it-cat-title {
  font-size: clamp(14px, 1.8vw, 17px);
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  line-height: 1.3;
  letter-spacing: 0.1px;
  position: relative;
  z-index: 1;
}

.it-cat-why {
  font-size: clamp(11.5px, 1.3vw, 13px);
  color: #a0a0a8;
  font-style: italic;
  margin: 0 0 14px;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

.it-cat-skills {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  position: relative;
  z-index: 1;
}

.it-cat-skills li {
  font-size: 11.5px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #c4c4cc;
  font-weight: 500;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  cursor: default;
}

.it-cat-skills li:hover {
  background: var(--cat-accent-soft);
  border-color: var(--cat-accent);
  color: #fff;
  transform: translateY(-1px);
}

@media (max-width: 760px) {
  .it-categories {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .it-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* IT Specialist Section End */

/* ── Companies & Collaborations Section ── */
#companiesCollaboration {
  margin-top: 0;
  padding: 0 0 clamp(32px, 5vw, 64px);
  background: #0b0b18;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

#companiesCollaboration .projectTitle {
  position: relative;
  z-index: 2;
  padding-top: clamp(28px, 4vw, 48px);
  margin-bottom: clamp(14px, 2vw, 24px);
}

#companiesCollaboration .pb-carousel-track {
  --left: -42rem;
}

.cc-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(12px, 4vw, 24px);
  box-sizing: border-box;
}

.cc-intro {
  text-align: center;
  color: #c0c0c0;
  font-size: clamp(12px, 1.6vw, 15px);
  margin: 0 0 clamp(30px, 4vw, 40px);
  line-height: 1.5;
  position: relative;
  z-index: 2;
}

.night-theme #companiesCollaboration {
  background: #0b0b18;
}

.night-theme #companiesCollaboration .cc-intro {
  color: #bbb;
}

#cc-gallery-wrapper {
  position: relative;
  z-index: 2;
}

#cc-gallery {
  --vg-gap: 0.05rem;
}

/* ── Companies & Collaborations Section End ── */

/* Let's Connect Creation Section Start */
.lets-connect-section {
  background: #0b0b18;
  padding: 0;
  overflow: hidden;
}

.lets-connect-shell {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 1128 / 191;
  border-top: 1px solid rgba(255, 255, 255, 0.75);
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 0;
  overflow: hidden;
}

.lets-connect-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
  background: transparent;
}

.lets-connect-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: crosshair;
}

.lets-connect-canvas.is-active {
  opacity: 1;
}

@media (max-width: 760px) {
  .lets-connect-section {
    padding: 0;
  }

  .lets-connect-shell {
    width: 100%;
    border-radius: 0;
  }
}

@media (max-width: 420px) {
  .lets-connect-shell {
    width: 100%;
  }
}
/* Let's Connect Creation Section End */

/* Hobbies Section Start */
.hobbies-section {
  --hobbies-section-pad-x: clamp(18px, 6vw, 92px);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 5vw, 58px);
  padding: 0 var(--hobbies-section-pad-x) clamp(54px, 7vw, 98px);
  background:
    radial-gradient(circle at 8% 18%, rgba(232, 73, 73, 0.22), transparent 32%),
    radial-gradient(circle at 78% 80%, rgba(78, 69, 213, 0.24), transparent 38%),
    linear-gradient(135deg, #080913 0%, #111827 45%, #070711 100%);
  color: #f5f0eb;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

.hobbies-project-title {
  width: calc(100% + var(--hobbies-section-pad-x) + var(--hobbies-section-pad-x));
  margin-inline: calc(0px - var(--hobbies-section-pad-x));
  margin-bottom: 0;
  padding: clamp(14px, 2vw, 22px) 0 clamp(22px, 3vw, 30px);
}

body:not(.night-theme) #hobbies .projectTitle {
  color: rgba(18, 18, 23, 0.16);
  border-color: rgba(18, 18, 23, 0.34);
}

body:not(.night-theme) #hobbies .projectTitle .te-base {
  background-image: linear-gradient(to right, #121217, #121217);
}

body:not(.night-theme) #hobbies .projectTitle .te-fade {
  color: rgba(18, 18, 23, 0.24);
}

#hobbies .projectTitle.text-effect > .te-hover {
  background-color: #e84949;
  color: #ffffff;
}

.night-theme #hobbies .projectTitle .te-base {
  background-image: linear-gradient(to right, #ffffff, #ffffff);
}

.night-theme #hobbies .projectTitle .te-fade {
  color: rgba(255, 255, 255, 0.16);
}

.hobbies-subsection {
  width: min(1240px, 100%);
  margin-inline: auto;
}

.hobbies-watch-subsection {
  width: min(1400px, 100%);
  display: grid;
  grid-template-columns: minmax(280px, 0.68fr) minmax(468px, 1.45fr);
  align-items: center;
  gap: clamp(24px, 3.5vw, 64px);
}

.hobbies-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 55% 50%, black, transparent 72%);
  opacity: 0.65;
}

.hobbies-copy {
  max-width: 620px;
  position: relative;
}

.hobbies-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 12px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(232, 73, 73, 0.12);
  border: 1px solid rgba(232, 73, 73, 0.26);
  color: #ff6868;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hobbies-subtitle {
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 0.9;
  letter-spacing: 0;
  color: #ffffff;
  text-wrap: balance;
}

.hobbies-lead {
  margin: clamp(16px, 2vw, 24px) 0 0;
  color: rgba(245, 240, 235, 0.78);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.65;
  max-width: 58ch;
}

.hobbies-simple-card {
  width: min(100%, 520px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-top: clamp(20px, 3vw, 30px);
  padding: clamp(16px, 2vw, 20px);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(232, 73, 73, 0.16), rgba(78, 69, 213, 0.14)),
    rgba(10, 12, 24, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

.hobbies-simple-icon {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: linear-gradient(135deg, #e84949, #4e45d5);
  color: #fff;
  box-shadow: 0 14px 30px rgba(78, 69, 213, 0.24);
}

.hobbies-simple-icon i {
  color: #fff;
  font-size: 20px;
}

.hobbies-simple-copy strong {
  display: block;
  color: #fff;
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 950;
}

.hobbies-simple-copy p {
  margin: 4px 0 0;
  color: rgba(245, 240, 235, 0.72);
  font-size: clamp(13px, 1.25vw, 15px);
  line-height: 1.35;
}

.hobbies-simple-tags {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hobbies-simple-tags span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: clamp(13px, 1.2vw, 15px);
  font-weight: 900;
}

.hobbies-simple-tags i {
  color: #ff6868;
}

.hobbies-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 14px);
  margin-top: clamp(20px, 3vw, 32px);
}

.hobby-group {
  padding: clamp(12px, 1.6vw, 16px);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

.hobby-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.hobby-group-label {
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hobby-group-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, rgba(232, 73, 73, 0.58), transparent);
}

.hobby-group-explore .hobby-group-line {
  background: linear-gradient(90deg, rgba(91, 255, 137, 0.5), transparent);
}

.hobby-group-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 14px);
}

.hobby-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  min-height: 124px;
  padding: 16px;
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.045)),
    rgba(10, 12, 24, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
}

.hobby-card--feature {
  grid-column: 1 / -1;
  min-height: 104px;
  background:
    linear-gradient(135deg, rgba(232, 73, 73, 0.18), rgba(78, 69, 213, 0.16)),
    rgba(10, 12, 24, 0.72);
  border-color: rgba(255, 255, 255, 0.18);
}

.hobby-card i {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: linear-gradient(135deg, #e84949, #4e45d5);
  color: #fff;
  font-size: 16px;
  box-shadow: 0 10px 24px rgba(78, 69, 213, 0.24);
}

.hobby-card h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 900;
}

.hobby-card p {
  margin: 0;
  color: rgba(245, 240, 235, 0.68);
  font-size: clamp(12px, 1.1vw, 13px);
  line-height: 1.45;
}

.hobbies-ticker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: clamp(18px, 2.5vw, 28px);
}

.hobbies-ticker span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(232, 73, 73, 0.09);
  border: 1px solid rgba(232, 73, 73, 0.2);
  color: rgba(245, 240, 235, 0.8);
  font-size: 12px;
  font-weight: 800;
}

.hobbies-tv-wrap {
  width: 100%;
  max-width: 936px;
  justify-self: end;
  filter: drop-shadow(0 28px 42px rgba(0, 0, 0, 0.34));
}

.cassette-subsection {
  width: min(1120px, 100%);
  overflow-x: auto;
  padding: 8px 0 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 100, 0.55) transparent;
}

.fourtrack-source-frame {
  display: block;
  width: 100%;
  min-width: 920px;
  aspect-ratio: 1.666 / 1;
  border: 0;
  background: radial-gradient(ellipse at top left, #f2f5f7, #b2b6bc);
  overflow: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cassette-track-list {
  display: flex;
  justify-content: center;
  gap: 8px;
  min-width: max-content;
  padding: 0 4px 4px;
}

.cassette-track {
  min-width: 118px;
  min-height: 44px;
  padding: 0 16px;
  border: 2px solid #4b4d52;
  border-radius: 7px 7px 0 0;
  background: rgba(247, 247, 242, 0.6);
  color: #505258;
  cursor: pointer;
  font-family: "Courier New", monospace;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
}

.cassette-track:hover,
.cassette-track.is-active {
  color: #2d2f35;
  background: rgba(255,255,255,0.82);
  transform: translateY(-2px);
}

.cassette-track.is-playing {
  border-color: rgba(232, 73, 73, 0.72);
  color: #1f2025;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.78),
    0 0 0 3px rgba(232, 73, 73, 0.12);
}

.cassette-track:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  transform: none;
}

.cassette-audio-status {
  min-width: 920px;
  margin: 6px 0 0;
  color: rgba(35, 36, 42, 0.72);
  font-family: "Courier New", monospace;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}
body:not(.night-theme) .hobbies-section {
  background:
    radial-gradient(circle at 8% 18%, rgba(232, 73, 73, 0.13), transparent 32%),
    radial-gradient(circle at 78% 80%, rgba(78, 69, 213, 0.14), transparent 38%),
    linear-gradient(135deg, #f7f3ed 0%, #e7edf8 54%, #f5f0eb 100%);
  color: #121217;
}

body:not(.night-theme) .hobbies-title {
  color: #121217;
}

body:not(.night-theme) .hobbies-subtitle {
  color: #121217;
}

body:not(.night-theme) .hobbies-kicker {
  background: rgba(232, 73, 73, 0.1);
  border-color: rgba(232, 73, 73, 0.24);
  color: #e84949;
}

body:not(.night-theme) .hobbies-lead {
  color: rgba(18, 18, 23, 0.72);
}

body:not(.night-theme) .hobbies-simple-card {
  background:
    linear-gradient(135deg, rgba(232, 73, 73, 0.09), rgba(78, 69, 213, 0.08)),
    rgba(255, 255, 255, 0.72);
  border-color: rgba(18, 18, 23, 0.12);
  box-shadow: 0 18px 42px rgba(39, 52, 89, 0.1);
}

body:not(.night-theme) .hobbies-simple-copy strong {
  color: #121217;
}

body:not(.night-theme) .hobbies-simple-copy p {
  color: rgba(18, 18, 23, 0.66);
}

body:not(.night-theme) .hobbies-simple-tags span {
  background: rgba(255, 255, 255, 0.64);
  border-color: rgba(18, 18, 23, 0.1);
  color: #121217;
}

body:not(.night-theme) .hobby-card {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(18, 18, 23, 0.12);
  box-shadow: 0 18px 42px rgba(39, 52, 89, 0.1);
}

body:not(.night-theme) .hobby-card--feature {
  background:
    linear-gradient(135deg, rgba(232, 73, 73, 0.1), rgba(78, 69, 213, 0.1)),
    rgba(255, 255, 255, 0.74);
  border-color: rgba(232, 73, 73, 0.16);
}

body:not(.night-theme) .hobby-group {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(18, 18, 23, 0.1);
  box-shadow: 0 18px 42px rgba(39, 52, 89, 0.08);
}

body:not(.night-theme) .hobby-group-label {
  color: rgba(18, 18, 23, 0.56);
}

body:not(.night-theme) .hobby-card h3 {
  color: #121217;
}

body:not(.night-theme) .hobby-card p {
  color: rgba(18, 18, 23, 0.66);
}

body:not(.night-theme) .hobbies-ticker span {
  background: rgba(232, 73, 73, 0.08);
  border-color: rgba(232, 73, 73, 0.18);
  color: rgba(18, 18, 23, 0.72);
}

@media (max-width: 1100px) {
  .hobbies-watch-subsection {
    grid-template-columns: 1fr;
  }

  .hobbies-copy {
    max-width: 720px;
  }

  .hobbies-tv-wrap {
    justify-self: center;
    max-width: 936px;
  }
}

@media (max-width: 900px) {
  .hobbies-watch-subsection {
    grid-template-columns: 1fr;
  }

  .hobbies-tv-wrap {
    justify-self: center;
    max-width: 806px;
  }

  .cassette-track-list {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .hobbies-section {
    padding-block: 0 42px;
  }

  .hobbies-grid,
  .hobby-group-cards {
    grid-template-columns: 1fr;
  }

  .hobby-card {
    min-height: auto;
  }

  .hobbies-subtitle {
    font-size: clamp(42px, 18vw, 72px);
  }

  .cassette-subsection {
    margin-inline: calc(0px - var(--hobbies-section-pad-x));
    padding-inline: var(--hobbies-section-pad-x);
  }

  .cassette-track-list {
    justify-content: flex-start;
  }
}
/* Hobbies Section End */

/* Skill Section Start  */
.skillContainer {
  position: relative;
  display: flex;
  padding: 5rem;
  margin: 10rem auto;
  gap: 30px;
  background: #0b0b18;
  color: #f5f0eb;
}

.leftSkillContainer {
  display: flex;
  flex-direction: column;
  width: 50%;
}

.skillHeading {
  color: #e84949;
  font-weight: 700;
  font-size: 50px;
  line-height: 50px;
}

.skillHeading span {
  font-size: 90px;
}

.skillSubHeading {
  margin-top: 1rem;
  width: 85%;
  text-align: justify;
}
.skillSubHeading p {
  margin: 15px 0;
  color: #c0c0c0;
}
.rightSkillContainer {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  width: 50%;
  position: relative;
  justify-content: center;
}

.blobStyle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  animation: blobAnimation 3s linear infinite;
}

@keyframes blobAnimation {
  50% {
    top: 54%;
    left: 46%;
  }
}

.skillsLogo {
  width: 80px;
  transition: all 0.5s;
}

.skillsLogo:hover {
  transform: scale(1.2);
}

.skillFadedText {
  font-size: 12em;
  right: -9%;
  bottom: -35%;
  user-select: none;
  color: #e7e7e7;
  font-weight: bold;
}

/* Skill Section End  */


/* Services/What I Offer Section Start  */
.servicesSection {
  width: 100%;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 4rem) clamp(1.25rem, 2.5vw, 2rem);
  background:
    radial-gradient(circle at 12% 16%, rgba(91, 255, 137, 0.18), transparent 30%),
    radial-gradient(circle at 86% 20%, rgba(232, 73, 73, 0.2), transparent 34%),
    radial-gradient(circle at 68% 88%, rgba(78, 69, 213, 0.24), transparent 38%),
    linear-gradient(135deg, #060812 0%, #101426 48%, #070711 100%);
  color: #f7fbff;
}

.servicesSection::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 52% 45%, black, transparent 72%);
  opacity: 0.7;
}

.servicesSection::after {
  content: "";
  position: absolute;
  inset: auto 8% 5% auto;
  width: clamp(170px, 20vw, 310px);
  aspect-ratio: 1;
  z-index: -1;
  border-radius: 50%;
  border: 1px solid rgba(91, 255, 137, 0.2);
  box-shadow:
    0 0 70px rgba(78, 69, 213, 0.18),
    inset 0 0 80px rgba(91, 255, 137, 0.05);
}

.serviceHeader {
  max-width: 780px;
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  text-align: center;
}

.serviceKicker {
  margin: 0 0 0.75rem;
  color: #5bff89;
  font-size: clamp(0.78rem, 1.1vw, 0.92rem);
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.serviceTitle {
  margin: 0;
  font-size: clamp(2.6rem, 7vw, 6.5rem);
  line-height: 0.9;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0;
  text-shadow: 0 0 44px rgba(78, 69, 213, 0.28);
}

.serviceLead {
  max-width: 62ch;
  margin: clamp(1rem, 2vw, 1.4rem) auto 0;
  color: rgba(247, 251, 255, 0.68);
  font-size: clamp(0.96rem, 1.35vw, 1.12rem);
  line-height: 1.7;
}

.servicesContainer {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1rem, 1.8vw, 1.35rem);
  width: min(1180px, 100%);
  margin: 0 auto;
  perspective: 1100px;
}

.serviceCard {
  --service-accent: #5bff89;
  --service-accent-2: #4e45d5;
  position: relative;
  grid-column: span 2;
  min-height: clamp(245px, 24vw, 310px);
  padding: clamp(1.1rem, 2vw, 1.55rem);
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: start;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.045)),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--service-accent) 22%, transparent), transparent 42%),
    rgba(8, 10, 22, 0.72);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(14px);
  transform-style: preserve-3d;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.serviceCard:hover {
  transform: translateY(-10px) rotateX(5deg) rotateY(-5deg);
  border-color: color-mix(in srgb, var(--service-accent) 54%, rgba(255,255,255,0.18));
  box-shadow:
    0 34px 86px rgba(0, 0, 0, 0.46),
    0 0 48px color-mix(in srgb, var(--service-accent) 22%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.serviceCard::before,
.serviceCard::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.serviceCard::before {
  inset: 1px;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.24), transparent 34%),
    radial-gradient(circle at 80% 12%, color-mix(in srgb, var(--service-accent-2) 26%, transparent), transparent 34%);
  opacity: 0.65;
}

.serviceCard::after {
  inset: auto -18% -28% auto;
  width: 46%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: color-mix(in srgb, var(--service-accent) 42%, transparent);
  filter: blur(34px);
  opacity: 0.5;
}

.serviceCard--facet {
  --service-accent: #e84949;
  --service-accent-2: #ffb86b;
  clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 34px 100%, 0 calc(100% - 34px));
}

.serviceCard--stack {
  --service-accent: #7dd3fc;
  --service-accent-2: #4e45d5;
}

.serviceCard--wide {
  --service-accent: #fbbf24;
  --service-accent-2: #e84949;
  grid-column: span 3;
  min-height: 235px;
}

.serviceCard--crystal {
  --service-accent: #c084fc;
  --service-accent-2: #5bff89;
  grid-column: span 3;
  min-height: 235px;
  clip-path: polygon(9% 0, 100% 0, 100% 82%, 91% 100%, 0 100%, 0 18%);
}

.serviceShape {
  position: absolute;
  right: clamp(0.85rem, 2vw, 1.4rem);
  top: clamp(0.85rem, 2vw, 1.4rem);
  width: clamp(82px, 10vw, 122px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--service-accent) 34%, rgba(255,255,255,0.18));
  background:
    radial-gradient(circle at 35% 32%, rgba(255,255,255,0.2), transparent 24%),
    linear-gradient(145deg, color-mix(in srgb, var(--service-accent) 24%, transparent), rgba(255,255,255,0.035));
  opacity: 0.62;
  transform: translateZ(18px);
}

.serviceCard--stack .serviceShape {
  border-radius: 8px;
  transform: rotate(12deg) translateZ(18px);
  box-shadow:
    -14px 14px 0 rgba(255,255,255,0.045),
    -28px 28px 0 rgba(255,255,255,0.025);
}

.serviceCard--wide .serviceShape {
  width: clamp(120px, 16vw, 190px);
  aspect-ratio: 1.8 / 1;
  border-radius: 8px;
}

.serviceCard--crystal .serviceShape {
  border-radius: 8px;
  clip-path: polygon(50% 0, 100% 32%, 82% 100%, 18% 100%, 0 32%);
}

.serviceIcon {
  font-size: 1.45rem;
  color: #fff;
  margin: 0;
}

.serviceIconWrap {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--service-accent), var(--service-accent-2));
  box-shadow:
    0 16px 34px color-mix(in srgb, var(--service-accent) 26%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.32);
  transform: translateZ(34px);
}

.serviceIndex {
  position: absolute;
  right: 1rem;
  bottom: 0.75rem;
  z-index: 2;
  color: rgba(255,255,255,0.12);
  font-size: clamp(3rem, 6vw, 5.4rem);
  font-weight: 1000;
  line-height: 0.8;
  letter-spacing: -0.04em;
}

.serviceCardContent {
  position: relative;
  z-index: 2;
  align-self: end;
  transform: translateZ(26px);
}

.serviceCard h3 {
  max-width: 15ch;
  margin: clamp(2rem, 7vw, 4.4rem) 0 0.55rem;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  color: #ffffff;
  line-height: 1.12;
  text-align: left;
  font-weight: 900;
}

.serviceCard p {
  max-width: 34ch;
  margin: 0;
  font-size: clamp(0.86rem, 1.05vw, 0.98rem);
  color: rgba(247, 251, 255, 0.7);
  line-height: 1.55;
  text-align: left;
}

body:not(.night-theme) .servicesSection {
  background:
    radial-gradient(circle at 12% 16%, rgba(91, 255, 137, 0.18), transparent 30%),
    radial-gradient(circle at 86% 20%, rgba(232, 73, 73, 0.2), transparent 34%),
    radial-gradient(circle at 68% 88%, rgba(78, 69, 213, 0.24), transparent 38%),
    linear-gradient(135deg, #060812 0%, #101426 48%, #070711 100%);
}

body:not(.night-theme) .serviceTitle {
  color: #ffffff;
  text-shadow: 0 0 44px rgba(78, 69, 213, 0.28);
}

body:not(.night-theme) .serviceLead {
  color: rgba(247, 251, 255, 0.68);
}

body:not(.night-theme) .serviceCard {
  background:
    linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.045)),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--service-accent) 22%, transparent), transparent 42%),
    rgba(8, 10, 22, 0.72);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

body:not(.night-theme) .serviceCard h3 {
  color: #ffffff;
}

body:not(.night-theme) .serviceCard p {
  color: rgba(247, 251, 255, 0.7);
}

body:not(.night-theme) .serviceIndex {
  color: rgba(255,255,255,0.12);
}

/* DepthFold / Neon Glass Shape System for What I Offer */
.servicesSection {
  --glass-edge: rgba(255, 255, 255, 0.85);
}

.servicesSection > .container {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.servicesContainer.shape-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 288px), 1fr));
  gap: clamp(1.1rem, 2.8vw, 1.65rem);
  align-items: stretch;
  width: min(1180px, 100%);
  margin: 0 auto;
  perspective: none;
}

.ux-parent {
  width: 100%;
  max-width: 400px;
  height: 300px;
  margin-inline: auto;
  perspective: 1000px;
  perspective-origin: 50% 50%;
  filter: drop-shadow(0 28px 50px rgba(0, 40, 30, 0.45));
}

.ux-parent--wide {
  max-width: none;
  width: 100%;
  height: 268px;
}

.ux-card {
  position: relative;
  height: 100%;
  border-radius: 50px;
  background: var(--ux-grad);
  transform-style: preserve-3d;
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s ease;
  box-shadow:
    rgba(5, 71, 17, 0.18) 40px 50px 25px -40px,
    rgba(5, 71, 17, 0.08) 0 25px 25px -5px;
}

.ux-parent:hover .ux-card {
  transform: rotate3d(1, 1, 0, 28deg);
  box-shadow:
    rgba(5, 71, 17, 0.45) 28px 48px 28px -38px,
    rgba(0, 255, 214, 0.12) 0 0 60px -10px,
    rgba(5, 71, 17, 0.15) 0 25px 35px 0;
}

.ux-parent--mint {
  --ux-grad: linear-gradient(135deg, rgb(0, 255, 214) 0%, rgb(8, 226, 96) 100%);
  --ux-title: #00894d;
  --ux-body: rgba(0, 137, 78, 0.82);
  --ux-cta: #00c37b;
  --ux-orbit: rgba(0, 249, 203, 0.22);
  --ux-fill: #00894d;
}

.ux-parent--violet {
  --ux-grad: linear-gradient(145deg, #a855f7 0%, #6366f1 40%, #ec4899 100%);
  --ux-title: #3b0764;
  --ux-body: rgba(59, 7, 100, 0.85);
  --ux-cta: #7c3aed;
  --ux-orbit: rgba(216, 180, 254, 0.35);
  --ux-fill: #5b21b6;
}

.ux-parent--solar {
  --ux-grad: linear-gradient(135deg, #fbbf24 0%, #f97316 45%, #dc2626 100%);
  --ux-title: #7c2d12;
  --ux-body: rgba(124, 45, 18, 0.88);
  --ux-cta: #c2410c;
  --ux-orbit: rgba(254, 243, 199, 0.4);
  --ux-fill: #9a3412;
}

.ux-parent--ocean {
  --ux-grad: linear-gradient(155deg, #22d3ee 0%, #0284c7 50%, #1e3a8a 100%);
  --ux-title: #0c4a6e;
  --ux-body: rgba(12, 74, 110, 0.88);
  --ux-cta: #0369a1;
  --ux-orbit: rgba(125, 211, 252, 0.35);
  --ux-fill: #0e7490;
}

.ux-parent--prism {
  --ux-grad: conic-gradient(from 200deg at 65% 35%, #22d3ee, #818cf8, #f472b6, #facc15, #22d3ee);
  --ux-title: #0f172a;
  --ux-body: rgba(15, 23, 42, 0.88);
  --ux-cta: #4338ca;
  --ux-orbit: rgba(255, 255, 255, 0.35);
  --ux-fill: #312e81;
}

.ux-parent--cut .ux-card {
  border-radius: 36px;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
}

.ux-parent--cut .ux-glass {
  border-radius: 32px !important;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
}

.ux-parent--wide .ux-card {
  border-radius: 44px;
}

.ux-parent--wide .ux-glass {
  border-radius: 48px;
  border-top-right-radius: 55%;
}

.ux-parent--wide .ux-content {
  padding: 2.25rem 52% 0 1.75rem !important;
}

.ux-parent--wide .ux-logo .ux-circle:nth-child(1) {
  width: 200px;
  height: 200px;
}

.ux-glass {
  transform-style: preserve-3d;
  position: absolute;
  inset: 8px;
  border-radius: 55px;
  border-top-right-radius: 100%;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0.82) 100%);
  transform: translate3d(0, 0, 25px);
  border-inline-start: 1px solid var(--glass-edge);
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  transition: all 0.5s ease-in-out;
  pointer-events: none;
}

.ux-logo {
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  transform-style: preserve-3d;
  pointer-events: none;
  z-index: 2;
}

.ux-circle {
  display: block;
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  top: 0;
  inset-inline-end: 0;
  background: var(--ux-orbit);
  box-shadow: rgba(100, 100, 111, 0.25) -10px 10px 24px 0;
  transition: all 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  backdrop-filter: blur(3px);
}

.ux-circle:nth-child(1) {
  width: 170px;
  transform: translate3d(0, 0, 20px);
  top: 8px;
  inset-inline-end: 8px;
}

.ux-circle:nth-child(2) {
  width: 140px;
  transform: translate3d(0, 0, 40px);
  top: 10px;
  inset-inline-end: 10px;
  backdrop-filter: blur(4px);
  transition-delay: 0.05s;
}

.ux-circle:nth-child(3) {
  width: 110px;
  transform: translate3d(0, 0, 60px);
  top: 17px;
  inset-inline-end: 17px;
  transition-delay: 0.1s;
}

.ux-circle:nth-child(4) {
  width: 80px;
  transform: translate3d(0, 0, 80px);
  top: 23px;
  inset-inline-end: 23px;
  transition-delay: 0.15s;
}

.ux-circle:nth-child(5) {
  width: 50px;
  transform: translate3d(0, 0, 100px);
  top: 30px;
  inset-inline-end: 30px;
  display: grid;
  place-content: center;
  transition-delay: 0.2s;
}

.ux-circle:nth-child(5) i {
  color: #fff;
  font-size: 19px;
}

.ux-parent:hover .ux-circle:nth-child(2) {
  transform: translate3d(0, 0, 60px);
}

.ux-parent:hover .ux-circle:nth-child(3) {
  transform: translate3d(0, 0, 80px);
}

.ux-parent:hover .ux-circle:nth-child(4) {
  transform: translate3d(0, 0, 100px);
}

.ux-parent:hover .ux-circle:nth-child(5) {
  transform: translate3d(0, 0, 120px);
}

.ux-content {
  padding: 100px 3.75rem 0 1.85rem;
  transform: translate3d(0, 0, 26px);
  position: relative;
  z-index: 3;
}

.ux-parent--wide .ux-logo .ux-circle:nth-child(2) {
  transform: translate3d(0, 0, 38px);
}

.ux-title {
  display: block;
  color: var(--ux-title);
  font-weight: 900;
  font-size: 1.25rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.ux-text {
  display: block;
  margin-top: 0.55rem;
  color: var(--ux-body);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.48;
}

.ux-bottom {
  padding: 10px 12px;
  transform-style: preserve-3d;
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 4;
}

.ux-social {
  display: flex;
  gap: 10px;
  transform-style: preserve-3d;
}

.ux-social-btn {
  width: 32px;
  aspect-ratio: 1;
  padding: 6px;
  background: #fff;
  border-radius: 50%;
  border: none;
  display: grid;
  place-content: center;
  box-shadow: rgba(5, 71, 17, 0.2) -5px 12px 10px 0;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.2s ease,
    box-shadow 0.35s ease;
}

.ux-social-btn:nth-child(1) { transition-delay: 0.05s; }
.ux-social-btn:nth-child(2) { transition-delay: 0.1s; }
.ux-social-btn:nth-child(3) { transition-delay: 0.15s; }

.ux-social-btn i {
  color: var(--ux-fill);
  font-size: 14px;
}

.ux-social-btn:hover {
  background: #0f172a;
}

.ux-social-btn:hover i {
  color: #fff;
}

.ux-social-btn:active {
  background: #ffea00;
}

.ux-social-btn:active i {
  color: #0f172a;
}

.ux-parent:hover .ux-social-btn {
  transform: translate3d(0, 0, 50px);
  box-shadow: rgba(5, 71, 17, 0.25) -5px 20px 12px 0;
}

.ux-more {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 42%;
  justify-content: flex-end;
  transition: transform 0.2s ease;
}

.ux-more:hover {
  transform: translate3d(0, 0, 10px);
}

.ux-more-btn {
  background: none;
  border: none;
  color: var(--ux-cta);
  font-weight: 900;
  font-size: 0.75rem;
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ux-more i {
  color: var(--ux-cta);
  font-size: 12px;
}

@media (min-width: 900px) {
  .servicesContainer.shape-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .servicesContainer .ux-parent--span-2 {
    grid-column: span 2;
  }
}

@media (max-width: 560px) {
  .servicesSection {
    padding: 3.2rem 1rem 1.25rem;
  }

  .servicesSection > .container,
  .serviceHeader,
  .servicesContainer.shape-grid {
    max-width: 100%;
    min-width: 0;
  }

  .serviceTitle {
    font-size: clamp(2.15rem, 10vw, 2.6rem);
    line-height: 0.98;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .serviceLead {
    max-width: 34ch;
    font-size: 0.92rem;
    line-height: 1.6;
    white-space: normal;
  }

  .servicesContainer.shape-grid {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, calc(100vw - 2rem));
    justify-items: center;
  }

  .ux-parent,
  .ux-parent--wide {
    height: 286px;
    width: min(100%, 350px);
    min-width: 0;
    max-width: 100%;
  }

  .ux-content,
  .ux-parent--wide .ux-content {
    padding: 118px 1.35rem 0 1.35rem !important;
  }

  .ux-title {
    max-width: 100%;
    font-size: 1.06rem;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
  }

  .ux-text {
    max-width: 100%;
    font-size: 0.78rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .ux-logo {
    transform: scale(0.64);
    transform-origin: top right;
  }

  .ux-bottom {
    left: 16px;
    right: 16px;
    bottom: 17px;
  }

  .ux-social {
    gap: 8px;
  }

  .ux-social-btn {
    width: 29px;
  }
}
/* Services/What I Offer Section End  */

/* Footer Section Start  */
footer {
  background: #343d68;
  position: relative;
  padding: 3rem 1rem 2rem 1rem;
}

.footerFadedText {
  font-size: 3em;
  position: absolute;
  left: 0;
  bottom: 0;
  color: #535c87;
  user-select: none;
}

.footerContainer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.5rem 0;
  position: relative;
}

.footerLegal {
  font-size: 0.95em;
  color: #bfc3d1;
  margin-top: 2.5em;
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  margin-left: 0.5em;
}
.center-footer {
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .center-footer {
    font-size: 0.8em;
    margin: 0 auto;
    text-align: center;
    align-items: center;
    justify-content: center;
  }
}
/* Responsive Styles */
@media (max-width: 900px) {
  .heroSection {
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    gap: 2rem;
    padding-bottom: 3rem;
  }
  .imgContainer {
    margin-top: 2rem;
  }
  /* Orbit responsive - tablet */
  .orbit-hero-right {
    --orbit-size: 340px;
    --orbit-radius: 170px;
    width: var(--orbit-size);
    height: var(--orbit-size);
    margin-top: 1rem;
  }
  .orbit-center-image {
    width: 200px;
    height: 250px;
  }
  .chip {
    padding: 6px 14px;
    font-size: 11px;
    border-radius: 8px;
  }
  .projectCard {
    width: 95%;
    height: 280px;
  }
  .projectNumber {
    font-size: 120px;
    top: -30px;
  }
  .rightNumber { right: -30px; }
  .leftNumber { left: -30px; }
  .projectHeading {
    font-size: 22px;
    top: -36px;
  }
  .projectSkillsContainer {
    top: -36px;
    max-width: 150px;
  }
  .projectSubHeading {
    font-size: 12px;
    bottom: -28px;
    max-width: 55%;
  }
  .btnGroup {
    bottom: 15px;
    right: 15px;
    gap: 0.5rem;
  }
  .projectTitle {
    font-size: 2.5em;
    padding: 30px 0 20px;
    line-height: 100%;
  }
  .skillContainer {
    flex-direction: column;
    padding: 2rem 1rem;
    margin: 3rem auto;
  }
  .leftSkillContainer, .rightSkillContainer {
    width: 100%;
  }
  .rightSkillContainer {
    justify-content: flex-start;
    gap: 1rem;
  }
  .footerFadedText {
    font-size: 2em;
  }
}

@media (max-width: 600px) {
  header {
    flex-direction: column;
    padding: 10px 10px;
    gap: 0.5rem;
  }
  .header-logo-img {
    width: 30px;
    height: 30px;
  }
  .nav-links {
    gap: 0.7rem;
  }
  .nav-links li a {
    font-size: 15px;
  }
  .nav-social-icons {
    gap: 0.5rem;
    font-size: 18px;
  }
  .heroSection {
    width: 100%;
    padding: 0 0.2rem;
    padding-top: 6.5rem;
    padding-bottom: 3rem;
    gap: 1.2rem;
  }
  /* Orbit responsive - mobile */
  .orbit-hero-right {
    --orbit-size: 260px;
    --orbit-radius: 130px;
    width: var(--orbit-size);
    height: var(--orbit-size);
    margin-top: 0.5rem;
  }
  .orbit-center-image {
    width: 160px;
    height: 200px;
  }
  .chip {
    padding: 4px 10px;
    font-size: 9px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }
  .userImage {
    width: 220px;
    height: 240px;
    padding: 1rem;
  }
  .fadedText {
    font-size: 2.2em;
  }
  .heading {
    font-size: 22px;
    line-height: 22px;
  }
  .subHeading {
    font-size: 26px;
    line-height: 26px;
  }
  .desc {
    font-size: 13px;
    width: 100%;
  }
  .projectCard {
    width: 92%;
    height: 200px;
    min-height: 180px;
  }
  .projectNumber {
    font-size: 80px !important;
    top: -25px !important;
  }
  .rightNumber { right: -20px !important; }
  .leftNumber { left: -20px !important; }
  .projectHeading {
    font-size: 14px;
    line-height: 1.2;
    top: -36px;
  }
  .projectSkillsContainer {
    top: -34px;
    max-width: 100px;
    gap: 0.3em;
  }
  .projectSkill {
    width: 20px !important;
    height: 20px !important;
  }
  .projectSubHeading {
    font-size: 10px;
    max-width: 60%;
    line-height: 1.3;
    bottom: -32px;
  }
  .btnGroup {
    bottom: -34px;
    right: 12px;
    gap: 0.4rem;
  }
  .btnGroup .btn {
    padding: 0.3rem 0.8rem;
    font-size: 11px;
  }
  .icon {
    font-size: 18px;
  }
  .skillsLogo {
    width: 40px;
  }
  .skillHeading {
    font-size: 1.5em;
  }
  .skillHeading span {
    font-size: 2em;
  }
  .skillFadedText {
    font-size: 2.5em;
    right: 0;
    bottom: -10%;
  }
  .servicesContainer {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .serviceCard {
    grid-column: 1 / -1;
    min-height: 220px;
    padding: 1rem;
  }
  .serviceTitle {
    font-size: clamp(2.4rem, 13vw, 4.2rem);
  }
  .footerContainer {
    padding: 0.2rem 0;
  }
  .footerLegal {
    font-size: 0.8em;
    margin-top: 1.2em;
  }
}

/* Navigation smaller on smartphones */
@media (max-width: 600px) {
  .nav-links li a {
    font-size: 1rem !important;
    padding: 0.5em 0.7em !important;
  }
  .nav-links {
    gap: 0.5em !important;
  }
  .nav-social-icons .nav-icon-img {
    width: 22px !important;
    height: 22px !important;
    margin: 0 4px !important;
  }
  .header-logo-img {
    width: 25px !important;
    height: 25px !important;
  }
}

/* Extra small screens - orbit */
@media (max-width: 380px) {
  .orbit-hero-right {
    --orbit-size: 220px;
    --orbit-radius: 110px;
    width: var(--orbit-size);
    height: var(--orbit-size);
  }
  .orbit-center-image {
    width: 130px;
    height: 165px;
  }
  .chip {
    font-size: 8px;
    padding: 3px 7px;
  }
}

/* --- Gallery Grid Responsive --- */
@media (max-width: 900px) {
  .projectContainer.galleryGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 124px 20px;
    padding: 40px 3% 70px;
  }
  .projectContainer.galleryGrid .projectCard {
    border-radius: 12px;
    height: auto;
    margin: 0;
  }
  .projectContainer.galleryGrid .projectCard:hover {
    transform: scale(1.1);
  }
  .projectContainer.galleryGrid .projectHeading {
    font-size: 20px;
    top: -38px;
  }
  .projectContainer.galleryGrid .projectNumber {
    font-size: 90px;
  }
}

@media (max-width: 600px) {
  .projectContainer.galleryGrid {
    grid-template-columns: 1fr;
    gap: 112px;
    padding: 20px 5% 50px;
  }
  .projectContainer.galleryGrid .projectCard {
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 1919 / 970;
  }
  .projectContainer.galleryGrid .projectCard:hover {
    transform: scale(1.03);
  }
  .projectContainer.galleryGrid .projectHeading {
    font-size: 16px;
    top: -38px;
  }
  .projectContainer.galleryGrid .projectNumber {
    font-size: 60px;
  }
}

/* --- Responsive Design for Smartphones --- */
@media (max-width: 768px) {
  .projectContainer {
    gap: 80px;
    padding: 20px 0 40px;
  }

  .projectCard {
    width: 90%;
    border-radius: 10px;
  }

  .projectHeading {
    font-size: 24px;
    top: -48px;
    left: 3px;
  }

  .projectNumber {
    font-size: 100px;
    top: -30px;
  }
  .rightNumber { right: -25px; }
  .leftNumber { left: -25px; }

  .projectSkillsContainer {
    top: -42px;
    right: 3px;
    max-width: 150px;
  }

  .projectSkill {
    width: 25px;
    height: 25px;
  }

  .projectSubHeading {
    font-size: 13px;
    bottom: -40px;
    left: 3px;
    max-width: 65%;
  }

  .btnGroup {
    bottom: -44px;
    right: 3px;
  }

  .icon {
    font-size: 30px;
  }

  .projectCard:hover {
    transform: scale(1.02);
  }
}

@media (max-width: 480px) {
  .projectContainer {
    gap: 90px;
    padding: 15px 0 30px;
  }

  .projectCard {
    width: 95%;
    border-radius: 8px;
  }

  .projectHeading {
    font-size: 20px;
    top: -44px;
    left: 2px;
  }

  .projectNumber {
    font-size: 70px;
    top: -20px;
  }
  .rightNumber { right: -15px; }
  .leftNumber { left: -15px; }

  .projectSkillsContainer {
    top: -38px;
    right: 2px;
    max-width: 120px;
    gap: 0.3em;
  }

  .projectSkill {
    width: 22px;
    height: 22px;
  }

  .projectSubHeading {
    font-size: 12px;
    bottom: -38px;
    left: 2px;
    max-width: 70%;
  }

  .btnGroup {
    bottom: -42px;
    right: 2px;
    gap: 0.5rem;
  }

  .icon {
    font-size: 26px;
  }

  .projectCard:hover {
    transform: scale(1.01);
  }
}

/* ============================================
   Project Card Lightbox
   ============================================ */
.card-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.card-lightbox.active {
  opacity: 1;
  visibility: visible;
}

.card-lightbox-inner {
  width: 70vw;
  aspect-ratio: 1919 / 970;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  transform: scale(0.35);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s ease;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}

.card-lightbox.active .card-lightbox-inner {
  transform: scale(1);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.85);
}

.card-lb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(0, 0, 0, 0.55) 100%
  );
}

.card-lb-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 40px;
  z-index: 2;
  text-align: center;
}

.card-lb-skills {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}

.card-lb-skills img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.card-lb-heading {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
  margin-bottom: 6px;
}

.card-lb-sub {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 14px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.card-lb-btns {
  display: flex;
  justify-content: flex-end;
  gap: 0.7rem;
  opacity: 0;
  transform: translateY(-15px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.card-lightbox.active .card-lb-btns {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease 0.55s, transform 0.4s ease 0.55s;
}

.card-lb-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  transition: color 0.3s ease, transform 0.3s ease;
}

.card-lb-link:hover {
  color: #e84949;
  transform: scale(1.2);
}

/* Image icons inside the card lightbox */
.card-lb-link .btn-icon {
  width: 36px;
  height: 36px;
  background-color: #fff;
}

.card-lb-link:hover .btn-icon {
  background-color: #e84949;
}

.card-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  border: none;
  font-size: 26px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s ease, transform 0.3s ease;
  line-height: 1;
}

.card-lightbox-close:hover {
  background: rgba(232, 73, 73, 0.88);
  transform: scale(1.1);
}

@media (max-width: 768px) {
  .card-lightbox-inner {
    width: 92vw;
  }
  .card-lb-heading {
    font-size: 1.3rem;
  }
  .card-lb-sub {
    font-size: 0.78rem;
  }
}

/* ============================================
   Social Share FAB Button
   ============================================ */
.section-nav {
  position: fixed;
  left: 30px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 4000;
}

.section-nav-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #1a1a2e;
  border: 1px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.section-nav-btn svg {
  width: 22px;
  height: 22px;
  display: block;
}

.section-nav-btn:hover {
  background: #fff;
  transform: scale(1.06);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.section-nav-btn.is-pressed {
  transform: scale(0.94);
  background: #fff;
}

.section-nav-btn.is-held {
  background: #e84949;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(232, 73, 73, 0.25), 0 6px 16px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
  .section-nav {
    left: 16px;
    bottom: 20px;
    gap: 8px;
  }
  .section-nav-btn {
    width: 40px;
    height: 40px;
  }
  .section-nav-btn svg {
    width: 18px;
    height: 18px;
  }
}

/* Theme Toggle Button — shares the .section-nav-btn base, swaps sun/moon icon */
.theme-toggle-btn {
  color: #b45309;
  position: relative;
}

.theme-toggle-btn .theme-icon-sun,
.theme-toggle-btn .theme-icon-moon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(.4,.1,.3,1.3);
}

/* Light mode (default): show sun */
.theme-toggle-btn .theme-icon-sun { opacity: 1; }
.theme-toggle-btn .theme-icon-moon {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4) rotate(-90deg);
}

/* Dark mode: show moon, button uses pale gold */
body.night-theme .theme-toggle-btn {
  color: #fcd34d;
  background: rgba(20, 20, 30, 0.85);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

body.night-theme .theme-toggle-btn:hover {
  background: rgba(30, 30, 45, 0.95);
}

body.night-theme .theme-toggle-btn .theme-icon-sun {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4) rotate(90deg);
}

body.night-theme .theme-toggle-btn .theme-icon-moon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
}

/* Resume Download Floating Action */
.resume-download-fab {
  position: fixed;
  left: 28px;
  bottom: 30px;
  z-index: 4000;
  width: 58px;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px;
  border-radius: 999px;
  color: #101018;
  text-decoration: none;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 238, 216, 0.9)),
    radial-gradient(circle at 18% 20%, rgba(232, 73, 73, 0.24), transparent 34%);
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    0 18px 42px rgba(22, 22, 30, 0.2),
    0 5px 14px rgba(22, 22, 30, 0.16),
    inset 0 1px 1px rgba(255, 255, 255, 0.9);
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transform: translateZ(0);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.35s ease, color 0.35s ease;
}

.resume-download-fab::before {
  content: "";
  position: absolute;
  inset: -40% auto -40% -55%;
  width: 46%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.78), transparent);
  transform: rotate(18deg);
  animation: resumeFabShine 3.8s ease-in-out infinite;
  pointer-events: none;
}

.resume-download-fab:hover {
  transform: translateY(-3px);
  box-shadow:
    0 22px 48px rgba(22, 22, 30, 0.24),
    0 8px 18px rgba(232, 73, 73, 0.18),
    inset 0 1px 1px rgba(255, 255, 255, 0.95);
}

.resume-download-fab:active {
  transform: translateY(-1px) scale(0.98);
}

.resume-fab-glow {
  position: absolute;
  inset: auto auto -34px -12px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 73, 73, 0.34), transparent 68%);
  filter: blur(4px);
  pointer-events: none;
  animation: resumeFabPulse 2.8s ease-in-out infinite;
}

.resume-fab-icon {
  position: relative;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #e84949, #4e45d5);
  box-shadow: 0 10px 24px rgba(78, 69, 213, 0.28);
  overflow: hidden;
}

.resume-fab-icon i {
  grid-area: 1 / 1;
  transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), opacity 0.25s ease;
}

.resume-fab-icon .fa-arrow-down {
  font-size: 17px;
  transform: translateY(-22px);
  opacity: 0;
}

.resume-fab-icon .fa-file-lines {
  font-size: 18px;
}

.resume-fab-copy {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1.05;
}

.resume-fab-title {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
}

.resume-fab-status {
  margin-top: 4px;
  font-size: 10.5px;
  font-weight: 800;
  color: rgba(16, 16, 24, 0.56);
  letter-spacing: 0.2px;
}

.resume-fab-progress {
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 7px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e84949, #4e45d5, #5BFF89);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
}

.resume-download-fab.is-downloading {
  pointer-events: none;
}

.resume-download-fab.is-downloading .resume-fab-progress {
  opacity: 1;
  animation: resumeDownloadFill 0.78s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}

.resume-download-fab.is-downloading .fa-arrow-down {
  opacity: 1;
  animation: resumeArrowDrop 0.78s ease-in-out infinite;
}

.resume-download-fab.is-downloading .fa-file-lines {
  opacity: 0.32;
  transform: scale(0.88);
}

.resume-download-fab.is-downloading .resume-fab-title {
  animation: resumeTextNudge 0.78s ease-in-out infinite;
}

.resume-download-fab.is-downloading .resume-fab-status {
  color: #4e45d5;
}

.resume-download-fab.is-downloading .resume-fab-status {
  font-size: 0;
}

.resume-download-fab.is-downloading .resume-fab-status::after {
  content: "Downloading";
  font-size: 10.5px;
}

.resume-download-fab.is-complete .resume-fab-icon {
  background: linear-gradient(135deg, #16a34a, #5BFF89);
}

.resume-download-fab.is-complete .fa-file-lines {
  opacity: 1;
  transform: scale(1);
}

.resume-download-fab.is-complete .fa-arrow-down {
  opacity: 0;
}

.resume-download-fab.is-complete .resume-fab-status {
  font-size: 0;
  color: #16a34a;
}

.resume-download-fab.is-complete .resume-fab-status::after {
  content: "Downloaded";
  font-size: 10.5px;
}

body.night-theme .resume-download-fab {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(25, 25, 36, 0.94), rgba(15, 15, 26, 0.9)),
    radial-gradient(circle at 18% 20%, rgba(91, 255, 137, 0.18), transparent 34%);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow:
    0 20px 46px rgba(0, 0, 0, 0.42),
    0 6px 16px rgba(91, 255, 137, 0.1),
    inset 0 1px 1px rgba(255, 255, 255, 0.12);
}

body.night-theme .resume-fab-status {
  color: rgba(255, 255, 255, 0.62);
}

@keyframes resumeFabShine {
  0%, 68% { transform: translateX(0) rotate(18deg); opacity: 0; }
  78% { opacity: 1; }
  100% { transform: translateX(430%) rotate(18deg); opacity: 0; }
}

@keyframes resumeFabPulse {
  0%, 100% { transform: scale(0.92); opacity: 0.78; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes resumeDownloadFill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes resumeArrowDrop {
  0% { transform: translateY(-22px); opacity: 0; }
  28% { opacity: 1; }
  72% { transform: translateY(2px); opacity: 1; }
  100% { transform: translateY(24px); opacity: 0; }
}

@keyframes resumeTextNudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}

@media (max-width: 768px) {
  .resume-download-fab {
    left: 16px;
    bottom: 18px;
    width: 52px;
    min-height: 52px;
    padding: 6px;
  }

  .resume-fab-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .resume-fab-title {
    font-size: 12px;
  }

  .resume-fab-status {
    font-size: 10px;
  }
}

@media (max-width: 430px) {
  .resume-download-fab {
    width: 52px;
    min-height: 52px;
    padding: 6px;
    justify-content: center;
  }

  .resume-fab-copy {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .resume-fab-progress {
    left: 10px;
    right: 10px;
    bottom: 8px;
  }
}

.share-toggle-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff;
  color: #333;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  z-index: 4000;
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.15);
  transition: 1.25s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.share-toggle-btn.active {
  transform: rotate(360deg);
  box-shadow:
    0 6px 8px rgba(0, 0, 0, 0.15),
    0 0 0 2px #333,
    0 0 0 8px #fff;
}

/* Share Overlay */
.share-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 3999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.share-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Share Menu - Centered Circle */
.share-menu {
  position: relative;
  width: 280px;
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.share-menu li {
  position: absolute;
  left: 0;
  list-style: none;
  transition: 0.5s;
  transform: rotate(calc(360deg / 8 * var(--i)));
  transform-origin: 140px;
  scale: 0;
  transition-delay: calc(0.05s * var(--i));
}

.share-overlay.active .share-menu li {
  scale: 1;
}

.share-menu li a {
  position: relative;
  display: flex;
  transform: rotate(calc(360deg / -8 * var(--i)));
  width: 60px;
  height: 60px;
  background-color: #fff;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.75rem;
  color: var(--clr);
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.15);
  transition: 0.5s;
  text-decoration: none;
}

.share-menu li:hover a {
  font-size: 2.5rem;
  box-shadow:
    0 0 0 2px var(--clr),
    0 0 0 6px #fff;
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .share-toggle-btn {
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }

  .share-menu {
    width: 240px;
    height: 240px;
  }

  .share-menu li {
    transform-origin: 120px;
  }

  .share-menu li a {
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
  }

  .share-menu li:hover a {
    font-size: 2rem;
  }
}

/* ============================================
   Smartphone Responsive (375px - 480px)
   ============================================ */
@media (max-width: 480px) {

  /* ── Header / Navigation ── */
  header {
    padding: 8px 10px;
    gap: 0.3rem;
  }
  .header-logo-img {
    width: 22px !important;
    height: 22px !important;
  }
  nav {
    gap: 0.5rem;
    width: 100%;
    justify-content: center;
  }
  .nav-links {
    gap: 0.3em !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  .nav-links li a {
    font-size: 0.8rem !important;
    padding: 0.35em 0.5em !important;
  }
  .nav-social-icons {
    gap: 0.4rem;
  }
  .nav-social-icons .nav-icon-img {
    width: 18px !important;
    height: 18px !important;
  }

  /* ── Hero Section ── */
  .heroSection {
    padding: 0 0.5rem;
    padding-top: 6rem;
    padding-bottom: 3.5rem;
    gap: 0.8rem;
    margin: 0 auto;
  }
  .fadedText {
    font-size: 1.6em;
  }
  .heading {
    font-size: 18px;
    line-height: 20px;
  }
  .subHeading {
    font-size: 20px;
    line-height: 22px;
  }
  .desc {
    font-size: 12px;
    width: 100%;
  }
  .btn {
    padding: 0.6rem 1.5rem;
    font-size: 13px;
  }

  /* ── Orbit ── */
  .orbit-hero-right {
    --orbit-size: 230px;
    --orbit-radius: 115px;
    width: var(--orbit-size);
    height: var(--orbit-size);
  }
  .orbit-center-image {
    width: 140px;
    height: 175px;
  }
  .chip {
    font-size: 8px;
    padding: 3px 8px;
  }

  /* ── Project Section Titles ── */
  .projectTitle {
    font-size: 1.8em;
    padding: 20px 0 15px;
  }

  /* ── Gallery Grid ── */
  .projectContainer.galleryGrid {
    gap: 108px;
    padding: 15px 4% 40px;
  }
  .projectContainer.galleryGrid .projectHeading {
    font-size: 14px;
    top: -34px;
  }
  .projectContainer.galleryGrid .projectNumber {
    font-size: 45px;
  }
  .projectContainer.galleryGrid .projectSubHeading {
    font-size: 10px;
    bottom: -43px;
    max-width: 78%;
    color: #2d3436;
    font-weight: 700;
    line-height: 1.35;
  }
  .projectContainer.galleryGrid .btnGroup {
    bottom: -36px;
  }
  .projectContainer.galleryGrid .icon {
    font-size: 20px;
  }

  /* ── Project Cards (non-gallery) ── */
  .projectCard {
    width: 96%;
    min-height: 160px;
  }
  .project-tag {
    font-size: 9px;
    padding: 3px 7px;
    top: 8px;
    left: 8px;
  }

  /* ── Graphics Section ── */
  .gfx-division {
    padding: 20px 3%;
  }
  .gfx-division-title {
    font-size: 20px;
  }
  .gfx-division-desc {
    font-size: 12px;
    margin-bottom: 20px;
  }

  /* ── Color Avalanche ── */
  .color-avalanche-section {
    height: 45vh;
    min-height: 300px;
  }
  .ca-title {
    font-size: 1.3rem;
  }
  .ca-desc {
    font-size: 0.75rem;
    max-width: 220px;
  }
  .ca-btn {
    padding: 0.4rem 0.7rem;
    font-size: 0.6rem;
  }

  /* ── Skill Section ── */
  .skillContainer {
    padding: 1.5rem 0.8rem;
    margin: 4rem auto;
    gap: 20px;
  }
  .skillHeading {
    font-size: 1.2em;
    line-height: 1.3;
  }
  .skillHeading span {
    font-size: 1.6em;
  }
  .skillSubHeading {
    width: 100%;
    font-size: 13px;
  }
  .skillsLogo {
    width: 32px;
  }
  .rightSkillContainer {
    gap: 0.8rem;
  }
  .skillFadedText {
    font-size: 2em;
    right: 0;
    bottom: -5%;
  }

  /* ── Services Section ── */
  .servicesSection {
    padding: 3rem 1rem 1.25rem;
  }
  .serviceTitle {
    font-size: clamp(2.35rem, 13vw, 3.8rem);
  }
  .servicesContainer {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .serviceCard {
    grid-column: 1 / -1;
    min-height: 210px;
    padding: 1rem;
  }
  .serviceIcon {
    font-size: 1.2rem;
  }
  .serviceCard h3 {
    font-size: 1.2rem;
  }
  .serviceCard p {
    font-size: 0.88rem;
  }

  /* ── Footer ── */
  footer {
    padding: 2rem 0.8rem 1.5rem;
  }
  .footerFadedText {
    font-size: 1.5em;
  }
  .footerLegal {
    font-size: 0.7em;
  }
  .center-footer {
    font-size: 0.7em;
  }

  /* ── Card Lightbox ── */
  .card-lightbox-inner {
    width: 95vw;
    border-radius: 10px;
  }
  .card-lb-body {
    padding: 16px 20px;
  }
  .card-lb-heading {
    font-size: 1rem;
  }
  .card-lb-sub {
    font-size: 0.7rem;
  }
  .card-lightbox-close {
    width: 36px;
    height: 36px;
    font-size: 20px;
    top: 10px;
    right: 10px;
  }

  /* ── Share FAB ── */
  .share-toggle-btn {
    bottom: 15px;
    right: 15px;
    width: 44px;
    height: 44px;
    font-size: 1.3rem;
  }
  .share-menu {
    width: 200px;
    height: 200px;
  }
  .share-menu li {
    transform-origin: 100px;
  }
  .share-menu li a {
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
  }

  /* ── Get Started Button ── */
  .get-started-btn-container {
    margin-bottom: 1.5rem;
  }
}

/* ══════════════════════════════════════════════════════
   Sanskrit Shloka Section — Light Effect + 3D Flip
   ══════════════════════════════════════════════════════ */
.shloka-section {
  position: relative;
  background: #111;
  padding: 5rem 2rem;
  overflow: hidden;
  text-align: center;
  font-family: 'Noto Serif Devanagari', serif !important;
  font-weight: 400;
}

/* Noise overlay from attached code */
.shloka-noise {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==);
  opacity: 0.5;
  pointer-events: none;
}

.shloka-container {
  max-width: 950px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* ── Whole-verse 3D Flip Card ── */
.shloka-flipcard {
  perspective: 1500px;
  cursor: pointer;
}

.shloka-flip-inner {
  position: relative;
  transition: transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-style: preserve-3d;
}

/* Click-only flip — no :hover (would conflict with mouse light-trail) */
.shloka-flipcard.flipped .shloka-flip-inner {
  transform: rotateX(180deg);
}

.shloka-flip-front,
.shloka-flip-back {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* ── Front face: Sanskrit verse ── */
.shloka-flip-front {
  font-size: 2.5rem;
  line-height: 2.4;
  padding: 2rem 1rem;
}

.shloka-line {
  margin: 0.3rem 0;
}

.shloka-normal {
  color: rgba(255, 255, 255, 0.35);
}

.shloka-hint {
  margin-top: 2.5rem;
  font-family: 'Space Grotesk', 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 1.2rem;
  display: inline-block;
  animation: hintPulse 2.5s ease-in-out infinite;
}

@keyframes hintPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

/* ── Back face: English meaning ── */
.shloka-flip-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotateX(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  background: radial-gradient(ellipse at center, #1a1a2e 0%, #111 100%);
  border: 1px solid rgba(255, 215, 0, 0.08);
  border-radius: 12px;
}

.shloka-meaning {
  font-family: 'Space Grotesk', 'Montserrat', Georgia, serif;
  font-size: 1.5rem;
  line-height: 2;
  color: #f0e6d3;
  font-style: italic;
  max-width: 700px;
  text-shadow:
    0 0 30px rgba(255, 215, 0, 0.15),
    0 0 60px rgba(255, 215, 0, 0.05);
}

/* ══ Power Word — Light Trail Effect (from attached code) ══ */
.pw {
  position: relative;
  display: inline-block;
  color: var(--pw-color);
  font-weight: 700;
  z-index: 0;
}

/* Light-trail shadow copies (JS-created, matches attached code) */
.pw-copy {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  white-space: nowrap;
  color: white;
  filter: blur(0.1rem);
  transform:
    translate(
      calc(var(--index) * var(--horizontal) * 0.1rem),
      calc(var(--index) * var(--vertical) * 0.1rem)
    )
    scale(calc(1 + var(--index) * 0.01));
  opacity: calc(1 / var(--index));
  pointer-events: none;
  will-change: transform;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .shloka-section { padding: 3rem 1rem; }
  .shloka-flip-front { font-size: 1.5rem; line-height: 2.2; }
  .shloka-meaning { font-size: 1.15rem; }
}

@media (max-width: 480px) {
  .shloka-flip-front { font-size: 1.15rem; line-height: 2; }
  .shloka-meaning { font-size: 1rem; }
}

/* Final responsive optimization overrides */
@media (max-width: 1024px) {
  #gfx-posters.poster-effect-section {
    padding: 34px 0 30px;
  }

  #gfx-posters .poster-effect-carousel {
    --poster-step: clamp(68px, 10vw, 116px);
    min-height: clamp(330px, 48vw, 470px);
    padding-bottom: 72px;
  }

  #gfx-posters .poster-effect-stage {
    width: 100vw;
    max-width: 820px;
    height: clamp(250px, 36vw, 360px);
  }

  #gfx-posters .poster-effect-slide {
    width: clamp(140px, 21vw, 210px);
  }

  #companiesCollaboration {
    padding: 0 0 clamp(30px, 5vw, 56px);
  }

  #companiesCollaboration .projectTitle {
    font-size: clamp(56px, 10vw, 90px);
    padding: clamp(24px, 4vw, 42px) 10px clamp(18px, 3vw, 26px);
  }

  #companiesCollaboration .pb-carousel-track {
    --left: -34rem;
    min-width: calc(8rem * var(--total));
    height: 8.5rem;
  }

  #companiesCollaboration .pb-carousel-item {
    width: 6.25rem;
    height: 7.25rem;
    align-items: center;
  }

  #companiesCollaboration .pb-carousel-item img {
    mask: none;
    -webkit-mask: none;
    transform: rotateY(-38deg);
  }

  #companiesCollaboration .pb-carousel-item:hover img {
    transform: rotateY(0deg) translateY(-0.5rem);
  }

  #letsConnectCreation.lets-connect-section {
    padding: 0;
  }

  #letsConnectCreation .lets-connect-shell {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    aspect-ratio: 1128 / 191;
  }
}

@media (max-width: 768px) {
  #gfx-posters .poster-effect-carousel {
    --poster-step: clamp(54px, 13vw, 84px);
    --poster-tilt: -42deg;
    min-height: clamp(310px, 62vw, 380px);
    perspective: 980px;
  }

  #gfx-posters .poster-effect-stage {
    height: clamp(232px, 50vw, 292px);
  }

  #gfx-posters .poster-effect-slide {
    width: clamp(126px, 31vw, 176px);
    border-radius: 8px;
  }

  #companiesCollaboration .projectTitle {
    font-size: clamp(44px, 11vw, 72px);
    line-height: 0.98;
  }

  #companiesCollaboration .cc-intro {
    max-width: 620px;
    margin-inline: auto;
  }

  #companiesCollaboration .pb-carousel-track {
    --left: -30rem;
    min-width: calc(7rem * var(--total));
    height: 7.25rem;
  }

  #companiesCollaboration .pb-carousel-item {
    width: 5.15rem;
    height: 6rem;
  }
}

@media (max-width: 640px) {
  #gfx-posters.poster-effect-section {
    padding: 24px 0 22px;
  }

  #gfx-posters .poster-effect-carousel {
    --poster-step: clamp(42px, 14vw, 66px);
    --poster-tilt: -34deg;
    min-height: clamp(286px, 82vw, 340px);
    padding: 2px 0 66px;
    perspective: 850px;
  }

  #gfx-posters .poster-effect-stage {
    width: 100vw;
    height: clamp(212px, 64vw, 262px);
  }

  #gfx-posters .poster-effect-slide {
    width: clamp(116px, 38vw, 152px);
    filter: saturate(calc(1 - (min(var(--abs-offset), 4) * 0.06))) blur(calc(min(var(--abs-offset), 4) * 0.25px));
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
  }

  #gfx-posters .poster-effect-slide.is-active {
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
  }

  #gfx-posters .poster-effect-caption {
    margin-top: 6px;
  }

  #gfx-posters .poster-effect-controls {
    bottom: 12px;
    gap: 6px;
    max-width: calc(100vw - 18px);
    padding: 6px 8px;
  }

  #gfx-posters .poster-effect-nav {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }

  #gfx-posters .poster-effect-dots {
    width: 132px;
    gap: 4px;
  }

  #gfx-posters .poster-effect-dot {
    width: 6px;
    height: 6px;
  }

  #gfx-posters .poster-effect-dot.is-active {
    width: 20px;
  }

  #companiesCollaboration {
    padding: 0 0 28px;
  }

  #companiesCollaboration .projectTitle {
    font-size: clamp(32px, 12vw, 54px);
    line-height: 0.95;
    padding: 20px 8px 18px;
  }

  #companiesCollaboration .pb-carousel-track {
    --left: -26rem;
    min-width: calc(6rem * var(--total));
    height: 6.25rem;
  }

  #companiesCollaboration .pb-carousel-item {
    width: 4.35rem;
    height: 5rem;
  }

  #companiesCollaboration .pb-carousel-item img {
    transform: rotateY(-32deg);
  }

  #companiesCollaboration .pb-carousel-item:hover img {
    transform: rotateY(0deg) translateY(-0.35rem);
  }

  #letsConnectCreation.lets-connect-section {
    padding: 0;
  }

  #letsConnectCreation .lets-connect-shell {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    aspect-ratio: 1128 / 191;
  }
}

@media (max-width: 380px) {
  #gfx-posters .poster-effect-carousel {
    --poster-step: 43px;
    min-height: 284px;
  }

  #gfx-posters .poster-effect-stage {
    height: 208px;
  }

  #gfx-posters .poster-effect-slide {
    width: 116px;
  }

  #companiesCollaboration .projectTitle {
    font-size: clamp(29px, 11.5vw, 42px);
  }

  #companiesCollaboration .pb-carousel-track {
    height: 5.6rem;
  }

  #companiesCollaboration .pb-carousel-item {
    width: 3.9rem;
    height: 4.55rem;
  }
}

/* Final liquid-nav safeguards against older global mobile nav rules */
@media (max-width: 600px) {
  header .glass-nav .nav-links {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    height: 40px;
  }

  header .glass-nav .nav-links li a {
    width: 42px;
    min-width: 42px;
    height: 40px;
    padding: 0 !important;
    justify-content: center;
    font-size: 13px !important;
  }

  header .glass-nav .nav-links li a span {
    display: none;
  }

  header .glass-nav .nav-active-pill {
    height: 40px;
  }
}

/* Large display responsiveness and layout optimization */
@media (min-width: 901px) {
  header {
    left: 50%;
    right: auto;
    width: min(100%, 1760px);
    padding-inline: clamp(28px, 3.2vw, 72px);
    transform: translateX(-50%);
  }

  .heroSection {
    width: min(100%, 1540px);
    gap: clamp(4rem, 6vw, 8rem);
    justify-content: space-between;
    padding-inline: clamp(2rem, 5vw, 5.5rem);
  }

  .infoContainer {
    flex: 1 1 520px;
    max-width: 700px;
  }

  .heroSection .heading {
    font-size: clamp(35px, 2.4vw, 48px);
    line-height: 1.05;
  }

  .heroSection .subHeading {
    font-size: clamp(45px, 3.45vw, 68px);
    line-height: 1.05;
  }

  .heroSection .desc {
    width: min(100%, 58ch);
    font-size: clamp(16px, 1vw, 18px);
    line-height: 1.7;
  }

  .projectTitle,
  .projectHeading,
  .serviceTitle,
  .serviceIndex {
    letter-spacing: 0;
  }

  .projectTitle {
    font-size: clamp(56px, 5vw, 96px);
  }

  .about-grid {
    max-width: 1420px;
  }

  .projectContainer.galleryGrid {
    width: min(1480px, calc(100% - clamp(48px, 8vw, 160px)));
    margin-inline: auto;
    padding: clamp(58px, 4.6vw, 84px) 0 clamp(96px, 6vw, 132px);
    gap: clamp(148px, 8vw, 174px) clamp(28px, 3vw, 48px);
  }

  .projectContainer.galleryGrid .projectHeading {
    font-size: clamp(22px, 1.55vw, 30px);
    line-height: 1.12;
  }

  .projectContainer.galleryGrid .projectSubHeading {
    font-size: clamp(12px, 0.8vw, 14px);
  }

  .gfx-gallery,
  .it-wrap,
  .cc-wrap,
  .servicesSection > .container {
    max-width: 1360px;
  }

  .gfx-division {
    padding-inline: max(5%, calc((100vw - 1460px) / 2));
  }

  .perf-marketing {
    max-width: 1240px;
  }

  .skillContainer {
    padding-inline: max(5rem, calc((100vw - 1360px) / 2));
  }
}

@media (min-width: 1440px) {
  :root {
    --orbit-size: clamp(440px, 26vw, 540px);
    --orbit-radius: calc(var(--orbit-size) / 2);
  }

  .orbit-center-image {
    width: clamp(280px, 16vw, 340px);
    height: clamp(340px, 20vw, 420px);
  }

  .water-text-svg {
    left: clamp(1rem, 4vw, 4rem);
    bottom: clamp(0.5rem, 1.8vw, 2rem);
  }
}

@media (min-width: 1600px) {
  .heroSection {
    width: min(1680px, calc(100% - 8vw));
  }

  .projectContainer.galleryGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(1680px, calc(100% - 8vw));
    gap: clamp(150px, 7vw, 176px) clamp(26px, 2.2vw, 42px);
  }

  .projectContainer.galleryGrid .projectCard:hover {
    transform: scale(1.045);
  }

  .projectContainer.galleryGrid .projectNumber {
    font-size: clamp(92px, 6vw, 132px);
  }

  .servicesContainer.shape-grid {
    width: min(1280px, 100%);
  }

  .hobbies-watch-subsection {
    width: min(1520px, 100%);
  }
}

@media (min-width: 2200px) {
  .heroSection,
  .projectContainer.galleryGrid {
    width: min(1860px, calc(100% - 12vw));
  }

  .projectContainer.galleryGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 158px 34px;
  }

  .projectContainer.galleryGrid .projectHeading {
    font-size: 24px;
  }

  .projectContainer.galleryGrid .projectSubHeading {
    font-size: 12px;
  }
}

/* Fluid hero + device-wide responsive polish */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  font-family: "Be Vietnam Pro", Arial, sans-serif;
}

img,
video,
canvas,
iframe {
  max-width: 100%;
}

#home,
.projectSection,
.skillContainer,
.servicesSection,
.hobbies-section,
.lets-connect-section,
.shloka-section,
footer {
  scroll-margin-top: clamp(78px, 8vw, 112px);
}

.heroSection {
  --hero-inline: clamp(1rem, 5vw, 5.5rem);
  --hero-copy-max: 700px;
  --orbit-size: clamp(220px, min(40vw, 56svh), 540px);
  --orbit-radius: calc(var(--orbit-size) * 0.455);
  --orbit-node-size: clamp(26px, calc(var(--orbit-size) * 0.091), 42px);
  width: min(1680px, 100%);
  padding-inline: var(--hero-inline);
  gap: clamp(1.5rem, 5vw, 8rem);
}

.heroSection .infoContainer {
  flex: 1 1 clamp(280px, 38vw, var(--hero-copy-max));
  max-width: var(--hero-copy-max);
  gap: clamp(0.8rem, 2vw, 2rem);
  min-width: 0;
}

.heroSection .heading {
  max-width: 12ch;
  font-size: clamp(1.35rem, 2.6vw, 3rem);
  line-height: 1.06;
  text-wrap: balance;
}

.heroSection .subHeading {
  max-width: 12ch;
  font-size: clamp(1.9rem, 5.2vw, 4.35rem);
  line-height: 1.04;
}

.heroSection .desc {
  width: min(100%, 58ch);
  font-size: clamp(0.88rem, 1.1vw, 1.12rem);
  line-height: 1.7;
}

.heroSection .btn {
  min-height: clamp(44px, 3.3vw, 54px);
  padding: clamp(0.65rem, 1vw, 0.9rem) clamp(1.45rem, 2.3vw, 2.35rem);
  font-size: clamp(0.9rem, 1vw, 1.1rem);
}

.orbit-hero-right {
  flex: 0 0 var(--orbit-size);
  width: var(--orbit-size);
  height: var(--orbit-size);
}

@media (min-width: 1400px) {
  .heroSection .infoContainer {
    transform: translateX(clamp(1.35rem, 2.2vw, 3rem));
  }

  .orbit-hero-right {
    --orbit-size: clamp(242px, min(44vw, 61.6svh), 594px);
    --orbit-radius: calc(var(--orbit-size) * 0.455);
    --orbit-node-size: clamp(28px, calc(var(--orbit-size) * 0.091), 46px);
    transform: translateX(calc(-1 * clamp(2.6rem, 4.4vw, 6rem)));
  }
}

.orbit-center-image {
  width: calc(var(--orbit-size) * 0.64);
  height: calc(var(--orbit-size) * 0.78);
}

.orbit-animation-ring,
.orbit-glow {
  width: var(--orbit-size);
  height: var(--orbit-size);
}

.orbit-slot {
  width: var(--orbit-node-size);
  height: var(--orbit-node-size);
  margin-top: calc(var(--orbit-node-size) * -0.5);
  margin-left: calc(var(--orbit-node-size) * -0.5);
  transform: rotate(var(--angle)) translate(var(--orbit-radius));
}

.chip {
  padding: clamp(4px, calc(var(--orbit-size) * 0.017), 9px) clamp(8px, calc(var(--orbit-size) * 0.038), 18px);
  border-radius: clamp(6px, calc(var(--orbit-size) * 0.022), 10px);
  font-size: clamp(8px, calc(var(--orbit-size) * 0.03), 13px);
  line-height: 1.1;
}

.water-text-svg {
  display: none;
  width: clamp(176px, 32vw, 576px);
  height: auto;
  opacity: 1;
  z-index: 1;
}

@media (min-width: 1440px) {
  .water-text-svg {
    bottom: 0;
    display: block;
    left: clamp(1rem, 4vw, 4rem);
  }
}

.projectHeading,
.projectSubHeading,
.serviceCard h3,
.serviceCard p,
.ux-title,
.ux-text,
.hobby-card h3,
.hobby-card p,
.it-cat-title,
.it-cat-why {
  overflow-wrap: anywhere;
}

.ak-resume {
  --about-portrait-size: clamp(230px, 26vw, 370px);
  position: relative;
}

.ak-resume .ak-head,
.ak-resume .ak-panels {
  position: relative;
  z-index: 2;
}

.ak-resume .about-user-image {
  width: var(--about-portrait-size);
  max-width: min(42%, 370px);
  height: auto;
  z-index: 1;
  pointer-events: none;
}

@media (min-width: 1181px) {
  .ak-resume {
    padding-right: calc(var(--about-portrait-size) * 0.46);
  }

  .ak-resume .about-user-image {
    right: 0;
    top: 50%;
    transform: translateY(-45%);
  }

  .ak-resume .about-user-image:hover {
    transform: translateY(-45%);
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  .ak-resume {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "portrait"
      "panels";
    gap: clamp(14px, 2.5vw, 24px);
    align-items: start;
  }

  .ak-resume .ak-head {
    grid-area: head;
  }

  .ak-resume .about-user-image {
    grid-area: portrait;
    position: relative;
    inset: auto;
    justify-self: center;
    align-self: end;
    width: min(46vw, 280px);
    max-width: 100%;
    margin-top: clamp(2px, 1vw, 10px);
    transform: none;
  }

  .ak-resume .about-user-image:hover {
    transform: none;
  }

  .ak-resume .ak-panels {
    grid-area: panels;
  }
}

@media (max-width: 700px) {
  .ak-resume {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ak-resume .about-user-image {
    position: relative;
    inset: auto;
    justify-self: center;
    width: min(58vw, 230px);
    max-width: 100%;
    margin: clamp(12px, 4vw, 18px) auto 0;
    transform: none;
    order: 2;
  }

  .ak-resume .about-user-image:hover {
    transform: none;
  }

  .ak-resume .ak-panels {
    order: 3;
  }
}

@media (max-width: 1100px) {
  .heroSection {
    --orbit-size: clamp(250px, min(46vw, 42svh), 390px);
    gap: clamp(1.4rem, 4vw, 3rem);
  }

  .water-text-svg {
    display: none;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  .heroSection {
    --hero-copy-max: 720px;
    --orbit-size: clamp(300px, min(42vw, 42svh), 420px);
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding-top: clamp(6.8rem, 9vw, 8.5rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
  }

  .heroSection .infoContainer {
    align-items: center;
    flex-basis: auto;
  }

  .heroSection .heading,
  .heroSection .subHeading,
  .heroSection .desc {
    margin-inline: auto;
  }

  .heroSection .subHeading {
    max-width: 11ch;
    font-size: clamp(2.6rem, 6.2vw, 4.2rem);
  }

  .water-text-svg {
    display: none;
  }
}

@media (max-width: 860px) {
  header .glass-nav {
    max-width: min(100%, calc(100vw - 20px));
  }

  header .glass-nav .nav-links {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 3px !important;
  }

  header .glass-nav .nav-links li a {
    width: 42px;
    min-width: 42px;
    padding: 0 !important;
    justify-content: center;
  }

  header .glass-nav .nav-links li a span {
    display: none;
  }
}

@media (max-width: 900px) {
  .heroSection {
    --hero-copy-max: 680px;
    --orbit-size: clamp(230px, min(60vw, 38svh), 360px);
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding-inline: clamp(1rem, 5vw, 2rem);
    padding-top: clamp(6.4rem, 14vw, 8.5rem);
    padding-bottom: clamp(2.5rem, 7vw, 4rem);
  }

  .heroSection .infoContainer {
    align-items: center;
    flex-basis: auto;
  }

  .heroSection .heading,
  .heroSection .subHeading,
  .heroSection .desc {
    margin-inline: auto;
  }

  .water-text-svg {
    display: none;
  }
}

@media (max-width: 600px) {
  .heroSection {
    --orbit-size: clamp(220px, min(72vw, 38svh), 310px);
    gap: clamp(0.9rem, 3.2vh, 1.5rem);
    padding-inline: clamp(0.85rem, 4.8vw, 1.2rem);
    padding-top: clamp(6.1rem, 24vw, 7.8rem);
    min-height: 100svh;
  }

  .heroSection .heading {
    font-size: clamp(1.18rem, 6.2vw, 1.6rem);
  }

  .heroSection .subHeading {
    font-size: clamp(1.55rem, 8.5vw, 2.25rem);
  }

  .heroSection .desc {
    max-width: 34rem;
    font-size: clamp(0.82rem, 3.6vw, 0.95rem);
    line-height: 1.55;
  }

  .water-text-svg {
    display: none;
  }
}

@media (max-width: 420px) {
  .heroSection {
    --orbit-size: clamp(205px, min(76vw, 34svh), 270px);
    padding-top: clamp(5.8rem, 26vw, 7rem);
  }

  .heroSection .btn {
    width: min(100%, 210px);
    justify-content: center;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .heroSection {
    --orbit-size: clamp(190px, 36vh, 260px);
    min-height: auto;
    padding-top: 5.6rem;
    padding-bottom: 2rem;
    gap: 1rem;
  }

  .heroSection .infoContainer {
    gap: 0.65rem;
  }

  .heroSection .desc {
    margin-top: 0.3rem;
  }

  .water-text-svg {
    display: none;
  }
}

/* Performance safeguards for high-DPI laptops and large monitors */
@media (min-width: 1200px), (min-resolution: 1.5dppx) {
  #wrapper,
  .heroSection::before {
    background-attachment: scroll;
  }

  .glass-nav {
    backdrop-filter: blur(26px) saturate(170%);
    -webkit-backdrop-filter: blur(26px) saturate(170%);
  }
}

@media (min-width: 1800px) {
  .projectCard:hover,
  .projectContainer.galleryGrid .projectCard:hover,
  .gfx-gallery-item:hover,
  .serviceCard:hover,
  .ux-parent:hover .ux-card {
    transform: translateY(-4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-animation-ring,
  .orbit-counter-rotator,
  .pb-carousel-item,
  .blobStyle,
  .getStartedBtn,
  .getStartedBtn::before,
  .loader-spinner,
  .resume-fab-glow,
  .resume-download-fab::before {
    animation-play-state: paused !important;
  }
}

html.perf-lite #wrapper,
html.perf-lite .heroSection::before {
  background-attachment: scroll !important;
}

html.perf-lite .glass-nav {
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}

html.perf-lite *,
html.perf-lite *::before,
html.perf-lite *::after {
  scroll-behavior: auto !important;
}

html.perf-lite .orbit-animation-ring,
html.perf-lite .orbit-counter-rotator,
html.perf-lite .pb-carousel-item,
html.perf-lite .blobStyle,
html.perf-lite .ak-name,
html.perf-lite .getStartedBtn,
html.perf-lite .getStartedBtn::before,
html.perf-lite .resume-fab-glow,
html.perf-lite .resume-download-fab::before,
html.perf-lite .projectCard::before,
html.perf-lite .ak-snake-line::after,
html.perf-lite .ak-t-dot {
  animation-play-state: paused !important;
}

html.perf-lite .glass-nav,
html.perf-lite .project-tag,
html.perf-lite .sm-carousel__controls,
html.perf-lite .lg-adjuster-panel,
html.perf-lite .ux-circle,
html.perf-lite .ux-glass,
html.perf-lite .perf-marketing .pm-metric-card,
html.perf-lite .perf-marketing .pm-filter-btn {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.perf-lite .projectCard,
html.perf-lite .gfx-gallery-item,
html.perf-lite .serviceCard,
html.perf-lite .ux-card,
html.perf-lite .sm-carousel__card,
html.perf-lite .pb-carousel-item {
  will-change: auto !important;
  transition-duration: 0.18s !important;
}

html.perf-lite .sm-carousel__card {
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.35);
  filter: none !important;
}

html.perf-ultra-lite .hero-shards-svg,
html.perf-ultra-lite .lg-canvas,
html.perf-ultra-lite .it-bg-canvas,
html.perf-ultra-lite .lets-connect-canvas {
  display: none !important;
}

.perf-marketing.lg-static .lg-canvas,
#advertisements.lg-static .lg-canvas {
  display: none;
}

/* ====================================================
   PERFORMANCE: content-visibility deferred rendering
   Tells the browser to skip paint/layout for sections
   until they're near the viewport.  Dramatically cuts
   the initial render cost on a long single-page site.
   contain-intrinsic-size prevents scroll-height collapse.

   NOTE: #skills and #graphics are excluded because they use
   IntersectionObserver to lazy-load heavy scripts (matter.js,
   color-avalanche.js, pdf.js, graphics-flipbook.js).
   content-visibility:auto can interfere with those observers
   by reporting zero height before the section is rendered.
   ==================================================== */
#projects,
#socialmedia,
#advertisements,
#itSpecialist,
#hobbies,
#services,
#letsConnectCreation,
#companiesCollaboration,
#shlokaSection {
  content-visibility: auto;
  contain-intrinsic-size: 0 800px;
}

/* Hero section is always visible – never defer it */
.heroSection {
  content-visibility: visible;
}

/* Hero portrait final placement: keep fallback image and shard SVG in the old centered frame. */
.heroSection .orbit-center-image {
  --hero-portrait-width: clamp(170px, calc(var(--orbit-size) * 0.64), 340px);
  width: var(--hero-portrait-width) !important;
  height: calc(var(--hero-portrait-width) * 1.21) !important;
  left: 50%;
  top: 50%;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -51%);
}

.heroSection .hero-shard-host {
  width: 100%;
  height: 100%;
  transform: translateX(3%);
  transform-origin: center;
}

.heroSection .hero-shard-fallback {
  object-position: center center;
}

.heroSection .hero-shards-svg {
  overflow: visible;
}

/* About portrait final placement: restore the seated image to the intended frame. */
#about .about-grid {
  grid-template-columns: minmax(360px, 0.72fr) minmax(0, 1.28fr) !important;
  gap: clamp(8px, 1.5vw, 22px) !important;
  max-width: min(1420px, calc(100% - clamp(20px, 4vw, 64px))) !important;
  padding-inline: clamp(8px, 2vw, 32px) !important;
  padding-bottom: 0 !important;
}

#about .about-phone-wrap {
  justify-self: end !important;
  max-width: 520px !important;
}

#about .about-copy {
  max-width: none !important;
}

#about .ak-resume .about-user-image {
  --about-portrait-drop: 0px;
  width: clamp(330px, 30vw, 468px) !important;
  max-width: min(52%, 468px) !important;
  height: auto !important;
  object-fit: contain;
  object-position: center bottom;
  opacity: 1;
  translate: 0 var(--about-portrait-drop);
  will-change: translate, opacity;
}

#about .ak-resume .about-user-image.is-waiting {
  opacity: 0;
  translate: 42vw var(--about-portrait-drop);
}

#about .ak-resume .about-user-image.is-visible {
  animation: aboutPortraitSlideIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

@keyframes aboutPortraitSlideIn {
  from {
    opacity: 0;
    translate: 42vw var(--about-portrait-drop);
  }
  to {
    opacity: 1;
    translate: 0 var(--about-portrait-drop);
  }
}

@media (prefers-reduced-motion: reduce) {
  #about .ak-resume .about-user-image,
  #about .ak-resume .about-user-image.is-waiting,
  #about .ak-resume .about-user-image.is-visible {
    animation: none !important;
    opacity: 1;
    translate: 0 var(--about-portrait-drop);
  }
}

@media (min-width: 1181px) {
  #about .ak-resume {
    padding-right: 0 !important;
  }

  #about .ak-resume .about-user-image {
    position: absolute !important;
    right: clamp(-52px, -4vw, -24px) !important;
    top: auto !important;
    bottom: -1px !important;
    margin: 0 !important;
    transform: translateY(0) !important;
    z-index: 0;
  }

  #about .ak-resume .about-user-image:hover {
    transform: translateY(0) scale(1.03) !important;
  }
}

@media (max-width: 1180px) {
  #about .ak-resume .about-user-image {
    --about-portrait-drop: clamp(116px, 18vw, 160px);
    position: relative !important;
    inset: auto !important;
    justify-self: center;
    width: min(88vw, 507px) !important;
    max-width: 100% !important;
    margin: clamp(140px, 18vh, 260px) auto calc(-1 * var(--about-portrait-drop)) !important;
    transform: none !important;
  }

  #about .ak-resume .about-user-image:hover {
    transform: scale(1.02) !important;
  }
}

@media (max-width: 560px) {
  #about .ak-resume .about-user-image {
    --about-portrait-drop: clamp(128px, 34vw, 176px);
    width: min(100vw, 440px) !important;
    margin-top: clamp(180px, 30vh, 340px) !important;
    margin-bottom: calc(-1 * var(--about-portrait-drop)) !important;
  }
}

/* About section smartphone rescue: override the late desktop placement rules. */
@media (max-width: 900px) {
  #about {
    overflow-x: hidden;
  }

  #about .about-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: clamp(14px, 4vw, 24px) !important;
    padding-inline: clamp(14px, 4vw, 22px) !important;
    padding-top: clamp(8px, 2vw, 18px) !important;
    align-items: start !important;
  }

  #about .about-phone-wrap {
    justify-self: center !important;
    width: min(100%, 320px) !important;
    max-width: 100% !important;
    min-height: clamp(420px, 86vw, 520px) !important;
    perspective: none;
  }

  #about .bb-phone-3d {
    width: 100% !important;
    max-width: 320px !important;
    --bb-scale: 0.82;
    transform-style: flat;
    will-change: auto;
  }

  #about .about-copy,
  #about .ak-resume {
    min-width: 0;
    max-width: 100% !important;
    width: 100% !important;
  }

  #about .ak-head,
  #about .ak-panels {
    min-width: 0;
  }

  #about .ak-chips-row {
    width: 100%;
    gap: 8px;
  }

  #about .ak-mini-chip,
  #about .ak-mini-chip--link {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #about .ak-mini-chip--link {
    margin-left: 0;
    padding-left: 16px;
  }

  #about .ak-resume .about-user-image,
  #about .ak-resume .about-user-image.is-waiting,
  #about .ak-resume .about-user-image.is-visible {
    --about-portrait-drop: 0px;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    justify-self: center;
    width: min(72vw, 260px) !important;
    max-width: 100% !important;
    margin: 8px auto 2px !important;
    transform: none !important;
    translate: 0 0 !important;
    animation: none !important;
    opacity: 1 !important;
    z-index: 1;
  }
}

@media (max-width: 560px) {
  #about.projectSection {
    padding-inline: 0;
  }

  #about .projectTitle {
    font-size: clamp(2rem, 11vw, 2.7rem);
    margin-bottom: 0.75rem;
  }

  #about .about-grid {
    gap: 12px !important;
    padding-inline: clamp(12px, 4vw, 16px) !important;
  }

  #about .about-phone-wrap {
    min-height: clamp(360px, 102vw, 460px) !important;
  }

  #about .bb-phone-3d {
    --bb-scale: 0.72;
  }

  #about .bb-phone-3d::after {
    display: none;
  }

  #about .ak-name {
    font-size: clamp(1.45rem, 8vw, 2rem);
    overflow-wrap: anywhere;
  }

  #about .ak-role {
    font-size: clamp(0.78rem, 3.7vw, 0.95rem);
    line-height: 1.45;
  }

  #about .ak-mini-chip {
    font-size: 11px;
    padding-block: 6px;
  }

  #about .ak-panels.ak-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  #about .ak-para,
  #about .ak-t-company {
    font-size: 12.5px;
  }

  #about .ak-timeline {
    padding-left: 22px;
  }

  #about .ak-t-dot {
    left: -24px;
  }
}

@media (max-width: 360px) {
  #about .about-phone-wrap {
    min-height: 330px !important;
  }

  #about .bb-phone-3d {
    --bb-scale: 0.58;
  }

  #about .ak-mini-chip--link {
    width: 100%;
  }
}

/* Final hosted-font guard: keep normal UI text consistent after all component rules. */
body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  a,
  span,
  button,
  input,
  textarea,
  select,
  label,
  li,
  strong,
  em,
  small,
  .heading,
  .subHeading,
  .desc,
  .btn,
  .getStartedBtn,
  .projectTitle,
  .projectHeading,
  .projectSubHeading,
  .gfx-division-title,
  .gfx-division-desc,
  .poster-effect-section,
  .sm-carousel__placeholder,
  .sm-carousel__btn,
  .sm-carousel__indicator,
  .shloka-hint,
  .shloka-meaning
):not(.shloka-section *):not(.fa):not([class^="fa-"]):not([class*=" fa-"]) {
  font-family: "Be Vietnam Pro", Arial, sans-serif !important;
}
