/* Peek-out sticky tab: closed state keeps the toggle visible */
#contact-tab {
  transition: transform 300ms ease;
}
.tab-closed {
  transform: translateX(calc(100% - 2.5rem)); /* leaves ~40px handle visible */
}
.tab-open {
  transform: translateX(0);
}

.noto-sans-<uniquifier> {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.noto-sans-thai-looped-<uniquifier> {
  font-family: "Noto Sans Thai Looped", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

/* Base font for the whole website */
body {
  font-family: "Noto Sans", sans-serif;
  font-size: 16px;            /* base size */
  line-height: 1.6;           /* good readability */
  colour: #333;               /* dark grey, softer than black */	
  background-colour: #fff;    /* adjust as needed */
  margin: 0;
  padding: 0;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;           /* bold for headings */
  colour: #111;               /* darker for stronger emphasis */
  line-height: 1.25; 
  margin-top: 1.2em;
  margin-bottom: 0.6em;
}

h1 {
  font-size: clamp(1.5rem, 3.75vw, 2.25rem);   /* 24–36px responsive */
  font-weight: 900;
  color: #bf00ff; /* vibrant neon purple */
  text-shadow: 
    0 0 2px #bf00ff,
    0 0 6px #8000ff,
    0 0 12px #8000ff;
  animation: neon-flicker 2.5s infinite alternate;
}

/* Flicker effect */
@keyframes neon-flicker {
  0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
    text-shadow:
      0 0 2px #bf00ff,
      0 0 6px #8000ff,
      0 0 12px #8000ff;
    opacity: 1;
  }
  20%, 24%, 55% {
    text-shadow: none;
    opacity: 0.8;
  }
}


h2 {
  font-size: clamp(1.3125rem, 3vw, 1.875rem); /* 21–30px */
  font-weight: 500;
}

h3 {
  font-size: clamp(1.125rem, 2.25vw, 1.5rem);   /* 18–24px */
  font-weight: 700;
}

h4 {
  font-size: 0.9375rem;   /* 15px */
  font-weight: 600;
}

h5 {
  font-size: 0.84375rem;  /* 13.5px */
  font-weight: 600;
}

h6 {
  font-size: 0.75rem;      /* 12px */
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.py-10 {
  padding-top: 5px! important;
  padding-bottom: 5px! important;
}
