*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: currentColor;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  font-family: 'DB Heavent', 'Noto Sans Thai', system-ui, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  line-height: inherit;
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

@font-face {
  font-family: 'DB Heavent';
  src: url('../fonts/DBHeavent-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DB Heavent';
  src: url('../fonts/DBHeavent-Med.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DB Heavent';
  src: url('../fonts/DBHeavent-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* display / headline ย่อบนจอเล็ก (ใช้ผ่าน text-display-lg ฯลฯ) */
  --type-display-lg: 5.5rem;
  --type-display-md: 4rem;
  --type-display-sm: 3rem;
  --type-headline-lg: 2.5rem;
  --type-headline-md: 2.25rem;
  --type-headline-sm: 2rem;
  /* ความกว้างเนื้อหาและขอบซ้าย-ขวาของ .container */
  --content-max: 75rem;
  --grid-margin: 2rem;
}

@media (max-width: 839px) {
  :root {
    --grid-margin: 1.5rem;
  }
}

@media (max-width: 599px) {
  :root {
    --grid-margin: 1rem;
    --type-display-lg: 3.5rem;
    --type-display-md: 3rem;
    --type-display-sm: 2.5rem;
    --type-headline-lg: 2.25rem;
    --type-headline-md: 2rem;
    --type-headline-sm: 1.75rem;
  }
}

@media (min-width: 900px) {
  :root {
    --content-max: 90rem;
    --grid-margin: clamp(2rem, 4vw, 4rem);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-family: 'DB Heavent', 'Noto Sans Thai', system-ui, sans-serif;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(61 65 96 / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

[hidden] {
  display: none !important;
}

:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
  outline-color: #A14002;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
  opacity: 1;
}

input::placeholder, textarea::placeholder {
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* กล่องเนื้อหา: กว้างไม่เกิน --content-max และมีขอบซ้าย-ขวา */
.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: calc(var(--content-max) + var(--grid-margin) * 2);
  padding-inline: var(--grid-margin);
}

/* ไอคอน Material Symbols — <span class="icon">ชื่อไอคอน</span> */
.icon {
  display: inline-block;
  flex: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
  vertical-align: middle;
  font-family: 'Material Symbols Outlined';
  font-size: 24px;
  font-weight: 400;
  text-transform: none;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  direction: ltr;
  word-wrap: normal;
  font-feature-settings: 'liga';
  font-variation-settings: 'FILL'0, 'wght'400, 'GRAD'0, 'opsz'24;
}

.icon--20 {
  font-size: 20px;
  font-variation-settings: 'FILL'0, 'wght'400, 'GRAD'0, 'opsz'20;
}

.icon--32 {
  font-size: 32px;
  font-variation-settings: 'FILL'0, 'wght'400, 'GRAD'0, 'opsz'40;
}

.icon--40 {
  font-size: 40px;
  font-variation-settings: 'FILL'0, 'wght'400, 'GRAD'0, 'opsz'48;
}

/* หัวข้อเล็กเหนือหัวข้อใหญ่ (มีเส้นนำหน้า: eyebrow--line) — ไม่ใช้ชื่อ .overline เพราะชนกับ utility ของ Tailwind */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.3;
  letter-spacing: .06em;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.eyebrow--line::before {
  content: '';
  height: 0.125rem;
  width: 2rem;
  background-color: currentColor;
}

/* ลิงก์ในเนื้อหา */
.link {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}

.link:hover {
  text-decoration-line: underline;
  text-underline-offset: .2em;
}

/* ---------- ปุ่ม ---------- */
.btn {
  position: relative;
  display: inline-flex;
  height: 2.75rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  border-radius: 999px;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  font-family: 'DB Heavent', 'Noto Sans Thai', system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  text-decoration-line: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .25s ease, transform .25s cubic-bezier(.2, .7, .2, 1);
  -webkit-tap-highlight-color: transparent;
}

.btn .icon {
  font-size: 20px;
}

.btn:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 3px;
  outline-color: #FD6901;
}

.btn:disabled {
  cursor: not-allowed;
  border-color: transparent;
  background-color: rgb(18 20 46 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(139 143 168 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transform: none;
}

/* ทึบสีส้ม · hover เป็นส้มสว่างและยกขึ้น */
.btn--filled {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn--filled:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(253 105 1 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 17 14 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 10px 24px rgba(253, 105, 1, .35);
  --tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn--filled:active {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(201 82 1 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ทึบสีเข้ม บนพื้นส้ม (เมนูมือถือ, CTA) */
.btn--dark {
  --tw-bg-opacity: 1;
  background-color: rgb(22 17 14 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn--dark:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.btn--outlined {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.btn--outlined:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(22 17 14 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(22 17 14 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn--outlined:active {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.btn--outlined-white {
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.7);
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn--outlined-white:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 17 14 / var(--tw-text-opacity, 1));
}

.btn--outlined-white:active {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.btn--text {
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.btn--text:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 237 232 / var(--tw-bg-opacity, 1));
}

.btn--text:active {
  --tw-bg-opacity: 1;
  background-color: rgb(255 219 208 / var(--tw-bg-opacity, 1));
}

.btn--s {
  height: 2.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* ปุ่มไอคอนวงกลมขอบขาว (เปิด/ปิดเมนูมือถือ) */
.btn-round {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: none;
  cursor: pointer;
  place-items: center;
  border-radius: 999px;
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.3);
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* เมนูเต็มจอบนมือถือ — วงกลมขยายจากปุ่มแฮมเบอร์เกอร์ (JS ใส่ .is-open) */
.mobile-menu {
  clip-path: circle(0% at calc(100% - 3rem) 3.75rem);
  visibility: hidden;
  transition: clip-path .6s cubic-bezier(.7, 0, .2, 1), visibility 0s linear .6s;
}

.mobile-menu.is-open {
  clip-path: circle(150% at calc(100% - 3rem) 3.75rem);
  visibility: visible;
  transition-delay: 0s;
}

/* ---------- ช่องกรอก (ใบสมัคร) ---------- */
.\!field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.field__label {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.field__required {
  --tw-text-opacity: 1;
  color: rgb(180 35 24 / var(--tw-text-opacity, 1));
}

.field__hint {
  font-size: 1.125rem;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.field__error {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 1.125rem;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(180 35 24 / var(--tw-text-opacity, 1));
}

/* JS สร้าง (theme.applyForm) */

.input {
  height: 3rem;
  width: 100%;
  border-radius: 4px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(139 143 168 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  font-family: 'DB Heavent', 'Noto Sans Thai', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 300;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.input:hover {
  --tw-border-opacity: 1;
  border-color: rgb(106 111 145 / var(--tw-border-opacity, 1));
}

.input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(161 64 2 / var(--tw-border-opacity, 1));
  outline-style: solid;
  outline-width: 2px;
  outline-offset: -1px;
  outline-color: #A14002;
}

.input:disabled {
  cursor: not-allowed;
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(139 143 168 / var(--tw-text-opacity, 1));
}

.input[aria-invalid="true"] {
  --tw-border-opacity: 1;
  border-color: rgb(180 35 24 / var(--tw-border-opacity, 1));
}

/* radio / checkbox แบบวาดเอง */
.radio, .checkbox {
  display: inline-flex;
  min-height: 2.75rem;
  cursor: pointer;
  align-items: flex-start;
  gap: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.radio input, .checkbox input {
  position: relative;
  margin: 0px;
  margin-top: 0.125rem;
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(106 111 145 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}

.radio__text, .checkbox__text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.radio input {
  border-radius: 999px;
}

.checkbox input {
  border-radius: 4px;
}

.radio:hover input:not(:checked), .checkbox:hover input:not(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(18 20 46 / var(--tw-border-opacity, 1));
}

.radio:hover input, .checkbox:hover input {
  box-shadow: 0 0 0 10px rgba(200, 61, 1, .08);
}

.radio input:focus-visible, .checkbox input:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
  outline-color: #A14002;
}

.radio input:checked {
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
  background: radial-gradient(circle, #C83D01 0 5px, transparent 5.5px);
}

.checkbox input:checked {
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.checkbox input::before {
  content: '';
  position: absolute;
  inset: -0.125rem;
  --tw-bg-opacity: 1;
  opacity: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.checkbox input:checked::before {
  opacity: 1;
}

.checkbox input[aria-invalid='true'] {
  --tw-border-opacity: 1;
  border-color: rgb(180 35 24 / var(--tw-border-opacity, 1));
}

/* radio แบบการ์ด (เลือกระดับปริญญา) */
.radio--card {
  border-radius: 12px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(139 143 168 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  height: unset !important;
  width: unset !important;
}

.radio--card:hover {
  --tw-border-opacity: 1;
  border-color: rgb(106 111 145 / var(--tw-border-opacity, 1));
}

.radio--card:hover input {
  box-shadow: none;
}

.radio--card:has(input:focus-visible) {
  outline-style: solid;
  outline-color: transparent;
}

.radio--card input:focus-visible {
  outline: 0;
}

.radio--card .radio__text {
  font-weight: 500;
}

/* กล่องแจ้งเตือน */
.alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 8px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1.125rem;
  line-height: 1.4;
}

.alert .icon {
  font-size: 22px;
}

.alert--error {
  --tw-bg-opacity: 1;
  background-color: rgb(253 241 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(138 28 18 / var(--tw-text-opacity, 1));
}

/* ---------- Dropdown (JS: theme.dropdowns()) ---------- */
.dropdown {
  position: relative;
  display: block;
  width: 100%;
}

.dropdown__trigger {
  display: flex;
  height: 3rem;
  width: 100%;
  cursor: pointer;
  align-items: center;
  gap: 0.5rem;
  border-radius: 8px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(139 143 168 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: left;
  font-family: 'DB Heavent', 'Noto Sans Thai', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.dropdown__trigger:hover {
  --tw-border-opacity: 1;
  border-color: rgb(106 111 145 / var(--tw-border-opacity, 1));
}

.dropdown__trigger:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(161 64 2 / var(--tw-border-opacity, 1));
  outline-offset: -1px;
}

.dropdown__trigger[aria-expanded="true"] {
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
}

.dropdown__trigger[aria-invalid="true"] {
  --tw-border-opacity: 1;
  border-color: rgb(180 35 24 / var(--tw-border-opacity, 1));
}

.dropdown__trigger>.icon {
  flex: none;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
  transition: transform .15s;
}

.dropdown__trigger[aria-expanded='true']>.icon {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.dropdown__value {
  min-width: 0px;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dropdown__value--placeholder {
  font-weight: 300;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.dropdown__menu {
  position: absolute;
  left: 0px;
  top: calc(100% + 8px);
  z-index: 20;
  margin: 0px;
  max-height: 22.5rem;
  min-width: 100%;
  list-style-type: none;
  overflow-y: auto;
  border-radius: 12px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 228 238 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-shadow: 0 1px 2px rgba(18, 20, 46, .12), 0 2px 6px 2px rgba(18, 20, 46, .08);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 2px 6px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dropdown--up .dropdown__menu {
  bottom: calc(100% + 8px);
  top: auto;
}

/* JS ใส่ .dropdown--up เมื่อด้านล่างที่ไม่พอ */
.dropdown__option {
  display: flex;
  min-height: 52px;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.dropdown__option:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
}

.dropdown__option[aria-selected="true"] {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.dropdown__option.is-active {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
}

.dropdown__option[aria-selected='true']::after {
  content: 'check';
  margin-left: auto;
  font-family: 'Material Symbols Outlined';
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  font-feature-settings: 'liga';
}

/* ---------- Date picker (JS: theme.datepickers() สร้าง HTML ในแผง) ---------- */
.datepicker {
  position: relative;
  display: block;
  width: 100%;
}

.datepicker__trigger {
  display: flex;
  height: 3rem;
  width: 100%;
  cursor: text;
  align-items: center;
  gap: 0.5rem;
  border-radius: 8px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(139 143 168 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 0.25rem;
  font-size: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.datepicker__trigger:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(161 64 2 / var(--tw-border-opacity, 1));
  outline-style: solid;
  outline-width: 2px;
  outline-offset: -1px;
  outline-color: #A14002;
}

.datepicker__trigger:hover {
  --tw-border-opacity: 1;
  border-color: rgb(106 111 145 / var(--tw-border-opacity, 1));
}

.datepicker__trigger:has([aria-invalid='true']) {
  --tw-border-opacity: 1;
  border-color: rgb(180 35 24 / var(--tw-border-opacity, 1));
}

.datepicker__input {
  height: 100%;
  min-width: 0px;
  flex: 1 1 0%;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-weight: 300;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.datepicker__toggle {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: none;
  cursor: pointer;
  place-items: center;
  border-radius: 999px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.datepicker__toggle:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.datepicker__toggle:focus-visible {
  outline-offset: 1px;
}

.datepicker__toggle[aria-expanded="true"] {
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.datepicker__panel {
  position: absolute;
  right: 0px;
  top: calc(100% + 8px);
  z-index: 20;
  width: 328px;
  max-width: calc(100vw - 32px);
  border-radius: 16px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 228 238 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  --tw-shadow: 0 1px 2px rgba(18, 20, 46, .12), 0 2px 6px 2px rgba(18, 20, 46, .08);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 2px 6px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.datepicker__caption {
  margin-bottom: 0.5rem;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.45;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.datepicker__header {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.datepicker__nav {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: none;
  cursor: pointer;
  place-items: center;
  border-radius: 999px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  --tw-text-opacity: 1;
  color: rgb(61 65 96 / var(--tw-text-opacity, 1));
}

.datepicker__nav:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.datepicker__nav:focus-visible {
  outline-offset: 1px;
}

.datepicker__title {
  display: inline-flex;
  height: 2.5rem;
  cursor: pointer;
  align-items: center;
  gap: 0.125rem;
  border-radius: 999px;
  border-width: 0px;
  background-color: transparent;
  padding-left: 0.875rem;
  padding-right: 0.375rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.datepicker__title:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
}

.datepicker__title:focus-visible {
  outline-offset: 1px;
}

.datepicker__title .icon {
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.datepicker__grid {
  display: grid;
  grid-template-columns: repeat(7, 40px);
  justify-content: center;
}

.datepicker__weekday {
  display: grid;
  height: 2rem;
  place-items: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.datepicker__cell {
  display: grid;
  height: 2.5rem;
  place-items: center;
}

.datepicker__day {
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  border-radius: 999px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-size: 1.125rem;
  font-weight: 300;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.datepicker__day:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
}

.datepicker__day:focus-visible {
  outline-offset: 1px;
}

.datepicker__day:active {
  --tw-bg-opacity: 1;
  background-color: rgb(255 219 208 / var(--tw-bg-opacity, 1));
}

.datepicker__day.is-outside {
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.datepicker__day[aria-current='date'] {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
  --tw-shadow: inset 0 0 0 1px #C83D01;
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.datepicker__day[aria-selected='true'] {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.datepicker__day:disabled {
  cursor: not-allowed;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(139 143 168 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* หน้าเลือกปี / เดือน (ตาราง 3 คอลัมน์) */
.datepicker__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  padding-top: 0.25rem;
}

.datepicker__list--years {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-left: 0.125rem;
  padding-right: 0.125rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  max-height: calc(48px * 5 + 8px * 4 + 8px);
  /* แสดงครั้งละ 5 แถว */
  scrollbar-width: thin;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16px, #000 calc(100% - 16px), transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 16px, #000 calc(100% - 16px), transparent);
}

.datepicker__option {
  height: 3rem;
  cursor: pointer;
  border-radius: 999px;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-size: 1.125rem;
  font-weight: 300;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.datepicker__option:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 242 248 / var(--tw-bg-opacity, 1));
}

.datepicker__option:focus-visible {
  outline-offset: 1px;
}

.datepicker__option:active {
  --tw-bg-opacity: 1;
  background-color: rgb(255 219 208 / var(--tw-bg-opacity, 1));
}

.datepicker__option.is-current {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
  --tw-shadow: inset 0 0 0 1px #C83D01;
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ปี/เดือนปัจจุบัน */
.datepicker__option.is-suggested {
  --tw-bg-opacity: 1;
  background-color: rgb(254 237 232 / var(--tw-bg-opacity, 1));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

/* ปีที่แนะนำ */
.datepicker__option[aria-pressed='true'] {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ที่เลือก */
.datepicker__option:disabled {
  cursor: not-allowed;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(139 143 168 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ---------- ใบสมัคร: ขนาดช่องบนมือถือ ---------- */
@media (max-width: 600px) {
  .input, .dropdown__trigger, .datepicker__trigger {
    height: 3.25rem;
  }

  .radio--card {
    min-height: 3.5rem;
  }
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.visible {
  visibility: visible;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.-right-24 {
  right: -6rem;
}

.-top-20 {
  top: -5rem;
}

.-top-32 {
  top: -8rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-24 {
  bottom: 6rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.left-0 {
  left: 0px;
}

.left-1\/2 {
  left: 50%;
}

.left-\[calc\(50\%\+1\.5rem\)\] {
  left: calc(50% + 1.5rem);
}

.right-6 {
  right: 1.5rem;
}

.right-\[4\%\] {
  right: 4%;
}

.right-\[calc\(-50\%\+1\.5rem\)\] {
  right: calc(-50% + 1.5rem);
}

.top-0 {
  top: 0px;
}

.top-8 {
  top: 2rem;
}

.top-\[1\.125rem\] {
  top: 1.125rem;
}

.z-\[2\] {
  z-index: 2;
}

.z-\[55\] {
  z-index: 55;
}

.z-\[58\] {
  z-index: 58;
}

.z-\[60\] {
  z-index: 60;
}

.z-\[80\] {
  z-index: 80;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.-ml-7 {
  margin-left: -1.75rem;
}

.-mt-16 {
  margin-top: -4rem;
}

.-mt-2\.5 {
  margin-top: -0.625rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-auto {
  margin-top: auto;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}

.size-14 {
  width: 3.5rem;
  height: 3.5rem;
}

.size-16 {
  width: 4rem;
  height: 4rem;
}

.size-2 {
  width: 0.5rem;
  height: 0.5rem;
}

.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}

.size-9 {
  width: 2.25rem;
  height: 2.25rem;
}

.size-\[28rem\] {
  width: 28rem;
  height: 28rem;
}

.size-\[3\.25rem\] {
  width: 3.25rem;
  height: 3.25rem;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-12 {
  height: 3rem;
}

.h-2 {
  height: 0.5rem;
}

.h-20 {
  height: 5rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[26rem\] {
  height: 26rem;
}

.h-\[3\.25rem\] {
  height: 3.25rem;
}

.h-\[3px\] {
  height: 3px;
}

.h-\[4\.75rem\] {
  height: 4.75rem;
}

.h-\[7\.5rem\] {
  height: 7.5rem;
}

.min-h-14 {
  min-height: 3.5rem;
}

.min-h-\[22rem\] {
  min-height: 22rem;
}

.min-h-\[30rem\] {
  min-height: 30rem;
}

.min-h-screen {
  min-height: 100vh;
}

.w-0 {
  width: 0px;
}

.w-2 {
  width: 0.5rem;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.min-w-0 {
  min-width: 0px;
}

.max-w-\[26rem\] {
  max-width: 26rem;
}

.max-w-\[30rem\] {
  max-width: 30rem;
}

.max-w-\[32rem\] {
  max-width: 32rem;
}

.max-w-\[36rem\] {
  max-width: 36rem;
}

.max-w-\[42rem\] {
  max-width: 42rem;
}

.max-w-\[44rem\] {
  max-width: 44rem;
}

.max-w-\[60vw\] {
  max-width: 60vw;
}

.max-w-\[65vw\] {
  max-width: 65vw;
}

.max-w-none {
  max-width: none;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-\[1_1_20rem\] {
  flex: 1 1 20rem;
}

.flex-\[1_1_32rem\] {
  flex: 1 1 32rem;
}

.flex-none {
  flex: none;
}

.translate-y-4 {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-6 {
  --tw-translate-y: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes bob {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(10px);
  }
}

.animate-bob {
  animation: bob 1.8s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-28px) rotate(4deg);
  }
}

.animate-float {
  animation: float 12s ease-in-out infinite;
}

@keyframes glow {
  0%, 100% {
    opacity: .55;
    transform: scale(1);
  }

  50% {
    opacity: .9;
    transform: scale(1.15);
  }
}

.animate-glow {
  animation: glow 8s ease-in-out infinite;
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}

.snap-start {
  scroll-snap-align: start;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.auto-cols-\[calc\(\(100\%-1\.5rem\)\/2\)\] {
  grid-auto-columns: calc((100% - 1.5rem) / 2);
}

.grid-flow-col {
  grid-auto-flow: column;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-\[2\.75rem_minmax\(0\2c 1fr\)\] {
  grid-template-columns: 2.75rem minmax(0, 1fr);
}

.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.8fr\)\] {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
}

.grid-cols-\[minmax\(7rem\2c auto\)_minmax\(0\2c 1fr\)\] {
  grid-template-columns: minmax(7rem, auto) minmax(0, 1fr);
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(12\.5rem\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(9\.5rem\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(min\(100\%\2c 12rem\)\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(min\(100\%\2c 13rem\)\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(min\(100\%\2c 14rem\)\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.grid-cols-\[repeat\(auto-fit\2c minmax\(min\(100\%\2c 22rem\)\2c 1fr\)\)\] {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.place-items-center {
  place-items: center;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-3\.5 {
  gap: 0.875rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-x-20 {
  -moz-column-gap: 5rem;
  column-gap: 5rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}

.gap-y-10 {
  row-gap: 2.5rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.self-start {
  align-self: flex-start;
}

.self-center {
  align-self: center;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-clip {
  overflow-x: clip;
}

.overscroll-x-contain {
  overscroll-behavior-x: contain;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.text-balance {
  text-wrap: balance;
}

.text-pretty {
  text-wrap: pretty;
}

.rounded-full {
  border-radius: 999px;
}

.rounded-l {
  border-radius: 16px;
}

.rounded-m {
  border-radius: 12px;
}

.rounded-xl {
  border-radius: 28px;
}

.rounded-b-xl {
  border-bottom-right-radius: 28px;
  border-bottom-left-radius: 28px;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-line {
  --tw-border-opacity: 1;
  border-color: rgb(226 228 238 / var(--tw-border-opacity, 1));
}

.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}

.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}

.border-white\/\[\.12\] {
  border-color: rgb(255 255 255 / .12);
}

.bg-accent-60 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 105 1 / var(--tw-bg-opacity, 1));
}

.bg-canvas {
  --tw-bg-opacity: 1;
  background-color: rgb(250 251 253 / var(--tw-bg-opacity, 1));
}

.bg-ink-warm {
  --tw-bg-opacity: 1;
  background-color: rgb(22 17 14 / var(--tw-bg-opacity, 1));
}

.bg-line {
  --tw-bg-opacity: 1;
  background-color: rgb(226 228 238 / var(--tw-bg-opacity, 1));
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.bg-primary-95 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 237 232 / var(--tw-bg-opacity, 1));
}

.bg-primary-99 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 250 / var(--tw-bg-opacity, 1));
}

.bg-success-container {
  --tw-bg-opacity: 1;
  background-color: rgb(238 249 242 / var(--tw-bg-opacity, 1));
}

.bg-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-cta-glow {
  background-image: radial-gradient(circle, rgba(200, 61, 1, .3), rgba(200, 61, 1, 0) 65%);
}

.bg-hero-photo {
  background-image: url('../img/building-glass-24-utcc.png');
  background-position: 50% !important;
  background-size: cover !important;
}

.bg-hero-tint {
  background-image: linear-gradient(180deg, rgba(22, 17, 14, .35) 0%, rgba(22, 17, 14, 0) 8rem), linear-gradient(180deg, rgba(200, 61, 1, 0) 36vw, #C83D01 51vw), linear-gradient(90deg, rgba(122, 36, 0, .74) 0%, rgba(140, 42, 0, .66) 30%, rgba(170, 52, 1, .3) 52%, rgba(200, 61, 1, .18) 64%, rgba(200, 61, 1, .05) 82%, rgba(200, 61, 1, 0) 100%);
}

.bg-\[length\:100\%_auto\] {
  background-size: 100% auto;
}

.bg-\[position\:0_-5vw\] {
  background-position: 0 -5vw;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

.p-0 {
  padding: 0px;
}

.p-10 {
  padding: 2.5rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-7 {
  padding: 1.75rem;
}

.p-8 {
  padding: 2rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-\[1\.125rem\] {
  padding-left: 1.125rem;
  padding-right: 1.125rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pb-9 {
  padding-bottom: 2.25rem;
}

.pb-\[11\.5rem\] {
  padding-bottom: 11.5rem;
}

.pb-\[calc\(\.75rem\+env\(safe-area-inset-bottom\)\)\] {
  padding-bottom: calc(.75rem + env(safe-area-inset-bottom));
}

.pl-6 {
  padding-left: 1.5rem;
}

.pr-\[3\.25rem\] {
  padding-right: 3.25rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.text-left {
  text-align: left;
}

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

.text-\[1\.25rem\] {
  font-size: 1.25rem;
}

.text-\[clamp\(3\.5rem\2c 1rem\+5vw\2c 5\.5rem\)\] {
  font-size: clamp(3.5rem, 1rem + 5vw, 5.5rem);
}

.text-body-lg {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 500;
}

.text-body-md {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 300;
}

.text-body-sm {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 300;
}

.text-display-md {
  font-size: var(--type-display-md);
  line-height: 1;
  font-weight: 700;
}

.text-display-sm {
  font-size: var(--type-display-sm);
  line-height: 1.08;
  font-weight: 700;
}

.text-headline-lg {
  font-size: var(--type-headline-lg);
  line-height: 1.12;
  font-weight: 700;
}

.text-headline-md {
  font-size: var(--type-headline-md);
  line-height: 1.14;
  font-weight: 500;
}

.text-headline-sm {
  font-size: var(--type-headline-sm);
  line-height: 1.16;
  font-weight: 500;
}

.text-label-lg {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 500;
}

.text-label-md {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 500;
}

.text-label-sm {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
}

.text-title-lg {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 500;
}

.text-title-md {
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: 500;
}

.text-title-sm {
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: 700;
}

.font-bold {
  font-weight: 700;
}

.font-light {
  font-weight: 300;
}

.font-normal {
  font-weight: 400;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-\[\.95\] {
  line-height: .95;
}

.leading-\[1\.2\] {
  line-height: 1.2;
}

.leading-\[1\.6\] {
  line-height: 1.6;
}

.leading-\[1\.7\] {
  line-height: 1.7;
}

.leading-none {
  line-height: 1;
}

.tracking-\[-\.01em\] {
  letter-spacing: -.01em;
}

.text-accent-70 {
  --tw-text-opacity: 1;
  color: rgb(254 141 87 / var(--tw-text-opacity, 1));
}

.text-accent-80 {
  --tw-text-opacity: 1;
  color: rgb(255 182 149 / var(--tw-text-opacity, 1));
}

.text-ink {
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.text-ink-subtle {
  --tw-text-opacity: 1;
  color: rgb(106 111 145 / var(--tw-text-opacity, 1));
}

.text-primary {
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.text-primary-90 {
  --tw-text-opacity: 1;
  color: rgb(255 219 208 / var(--tw-text-opacity, 1));
}

.text-success-on {
  --tw-text-opacity: 1;
  color: rgb(20 108 58 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}

.underline {
  text-decoration-line: underline;
}

.opacity-0 {
  opacity: 0;
}

.opacity-\[\.12\] {
  opacity: .12;
}

.shadow-\[0_-8px_24px_rgba\(22\2c 17\2c 14\2c \.14\)\] {
  --tw-shadow: 0 -8px 24px rgba(22, 17, 14, .14);
  --tw-shadow-colored: 0 -8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_0_1px_rgba\(255\2c 255\2c 255\2c \.08\)\2c 0_32px_80px_rgba\(0\2c 0\2c 0\2c \.45\)\] {
  --tw-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 32px 80px rgba(0, 0, 0, .45);
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 32px 80px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_12px_28px_rgba\(22\2c 17\2c 14\2c \.28\)\] {
  --tw-shadow: 0 12px 28px rgba(22, 17, 14, .28);
  --tw-shadow-colored: 0 12px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_24px_64px_rgba\(22\2c 17\2c 14\2c \.14\)\] {
  --tw-shadow: 0 24px 64px rgba(22, 17, 14, .14);
  --tw-shadow-colored: 0 24px 64px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_20px_rgba\(200\2c 61\2c 1\2c \.3\)\] {
  --tw-shadow: 0 8px 20px rgba(200, 61, 1, .3);
  --tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_24px_rgba\(22\2c 17\2c 14\2c \.18\)\] {
  --tw-shadow: 0 8px 24px rgba(22, 17, 14, .18);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[inset_0_0_0_1px_theme\(colors\.line\)\] {
  --tw-shadow: inset 0 0 0 1px #E2E4EE;
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[background-color\2c box-shadow\] {
  transition-property: background-color, box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[background-color\2c color\2c border-color\2c opacity\] {
  transition-property: background-color, color, border-color, opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[box-shadow\2c color\] {
  transition-property: box-shadow, color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[opacity\2c transform\2c background-color\2c color\] {
  transition-property: opacity, transform, background-color, color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[opacity\2c transform\] {
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[transform\2c background-color\] {
  transition-property: transform, background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[transform\2c box-shadow\] {
  transition-property: transform, box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c background-color\] {
  transition-property: width, background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.delay-150 {
  transition-delay: 150ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.delay-\[270ms\] {
  transition-delay: 270ms;
}

.delay-\[340ms\] {
  transition-delay: 340ms;
}

.delay-\[520ms\] {
  transition-delay: 520ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-\[\.4s\2c \.6s\] {
  transition-duration: .4s, .6s;
}

.duration-\[250ms\] {
  transition-duration: 250ms;
}

.duration-\[350ms\] {
  transition-duration: 350ms;
}

.ease-\[ease\2c cubic-bezier\(\.2\2c \.7\2c \.2\2c 1\)\] {
  transition-timing-function: ease, cubic-bezier(.2, .7, .2, 1);
}

.ease-soft {
  transition-timing-function: cubic-bezier(.2, .7, .2, 1);
}

.\[overflow-wrap\:anywhere\] {
  overflow-wrap: anywhere;
}

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

/* ----------------------------------------------------------------
 * พื้นฐาน
 * ---------------------------------------------------------------- */

/* ----------------------------------------------------------------
 * คอมโพเนนต์
 * ---------------------------------------------------------------- */

.hover\:-translate-y-1\.5:hover {
  --tw-translate-y: -0.375rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-ink-warm:hover {
  --tw-border-opacity: 1;
  border-color: rgb(22 17 14 / var(--tw-border-opacity, 1));
}

.hover\:bg-accent-60:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 105 1 / var(--tw-bg-opacity, 1));
}

.hover\:bg-ink-warm:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 17 14 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:text-ink-warm:hover {
  --tw-text-opacity: 1;
  color: rgb(22 17 14 / var(--tw-text-opacity, 1));
}

.hover\:text-primary:hover {
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:shadow-\[inset_0_0_0_1px_theme\(colors\.primary\.80\)\2c 0_20px_40px_rgba\(200\2c 61\2c 1\2c \.16\)\]:hover {
  --tw-shadow: inset 0 0 0 1px #FFB59E, 0 20px 40px rgba(200, 61, 1, .16);
  --tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color), 0 20px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[inset_0_0_0_2px_theme\(colors\.primary\.DEFAULT\)\]:hover {
  --tw-shadow: inset 0 0 0 2px #C83D01;
  --tw-shadow-colored: inset 0 0 0 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.group:last-child .group-last\:hidden {
  display: none;
}

.aria-\[current\=true\]\:w-8[aria-current="true"] {
  width: 2rem;
}

.aria-\[current\=true\]\:bg-primary[aria-current="true"] {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.group[aria-expanded="true"] .group-aria-expanded\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[aria-expanded="true"] .group-aria-expanded\:rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[aria-expanded="true"] .group-aria-expanded\:bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.group[aria-expanded="true"] .group-aria-expanded\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group.is-open .group-is-open\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group.is-open .group-is-open\:opacity-100 {
  opacity: 1;
}

.is-active\:flex.is-active {
  display: flex;
}

.group.is-current .group-is-current\:border-primary {
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
}

.group.is-current .group-is-current\:bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.group.is-current .group-is-current\:font-bold {
  font-weight: 700;
}

.group.is-current .group-is-current\:text-primary {
  --tw-text-opacity: 1;
  color: rgb(200 61 1 / var(--tw-text-opacity, 1));
}

.group.is-current .group-is-current\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group.is-current .group-is-current\:shadow-\[0_0_0_4px_theme\(colors\.primary\.90\)\] {
  --tw-shadow: 0 0 0 4px #FFDBD0;
  --tw-shadow-colored: 0 0 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group.is-done .group-is-done\:border-primary {
  --tw-border-opacity: 1;
  border-color: rgb(200 61 1 / var(--tw-border-opacity, 1));
}

.group.is-done .group-is-done\:bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(200 61 1 / var(--tw-bg-opacity, 1));
}

.group.is-done .group-is-done\:text-ink {
  --tw-text-opacity: 1;
  color: rgb(18 20 46 / var(--tw-text-opacity, 1));
}

.group.is-done .group-is-done\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.is-visible\:pointer-events-auto.is-visible {
  pointer-events: auto;
}

.is-visible\:translate-y-0.is-visible {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.is-visible\:opacity-100.is-visible {
  opacity: 1;
}

.is-hidden\:translate-y-\[110\%\].is-hidden {
  --tw-translate-y: 110%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media (min-width: 1101px) and (max-height: 920px) {
  .short\:bottom-\[5\.5rem\] {
    bottom: 5.5rem;
  }

  .short\:h-24 {
    height: 6rem;
  }

  .short\:gap-3\.5 {
    gap: 0.875rem;
  }

  .short\:gap-5 {
    gap: 1.25rem;
  }

  .short\:gap-8 {
    gap: 2rem;
  }

  .short\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .short\:pb-5 {
    padding-bottom: 1.25rem;
  }

  .short\:pb-6 {
    padding-bottom: 1.5rem;
  }

  .short\:pb-\[10\.5rem\] {
    padding-bottom: 10.5rem;
  }

  .short\:pt-0 {
    padding-top: 0px;
  }

  .short\:pt-5 {
    padding-top: 1.25rem;
  }

  .short\:pt-6 {
    padding-top: 1.5rem;
  }
}

@media not all and (min-width: 1201px) {
  .max-xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media not all and (min-width: 1101px) {
  .max-lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .max-lg\:w-full {
    width: 100%;
  }

  .max-lg\:max-w-none {
    max-width: none;
  }

  .max-lg\:flex-auto {
    flex: 1 1 auto;
  }

  .max-lg\:flex-col {
    flex-direction: column;
  }

  .max-lg\:items-stretch {
    align-items: stretch;
  }
}

@media not all and (min-width: 901px) {
  .max-md\:static {
    position: static;
  }

  .max-md\:bottom-24 {
    bottom: 6rem;
  }

  .max-md\:right-4 {
    right: 1rem;
  }

  .max-md\:-order-1 {
    order: -1;
  }

  .max-md\:flex {
    display: flex;
  }

  .max-md\:grid {
    display: grid;
  }

  .max-md\:hidden {
    display: none;
  }

  .max-md\:size-12 {
    width: 3rem;
    height: 3rem;
  }

  .max-md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .max-md\:gap-8 {
    gap: 2rem;
  }

  .max-md\:bg-hero-tint-mobile {
    background-image: linear-gradient(180deg, rgba(22, 17, 14, .35) 0%, rgba(22, 17, 14, 0) 8rem), linear-gradient(90deg, rgba(122, 36, 0, .74) 0%, rgba(140, 42, 0, .66) 30%, rgba(170, 52, 1, .3) 60%, rgba(200, 61, 1, .08) 85%, rgba(200, 61, 1, 0) 100%);
  }

  .max-md\:pb-20 {
    padding-bottom: 5rem;
  }

  .max-md\:pb-40 {
    padding-bottom: 10rem;
  }

  .max-md\:pt-8 {
    padding-top: 2rem;
  }

  .max-md\:text-\[clamp\(2\.5rem\2c 1\.25rem\+6vw\2c 4rem\)\] {
    font-size: clamp(2.5rem, 1.25rem + 6vw, 4rem);
  }
}

@media not all and (min-width: 761px) {
  .max-cards\:auto-cols-\[88\%\] {
    grid-auto-columns: 88%;
  }

  .max-cards\:gap-4 {
    gap: 1rem;
  }
}

@media not all and (min-width: 601px) {
  .max-sm\:h-\[3\.25rem\] {
    height: 3.25rem;
  }

  .max-sm\:flex-1 {
    flex: 1 1 0%;
  }

  .max-sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .max-sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .max-sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .max-sm\:pb-5 {
    padding-bottom: 1.25rem;
  }

  .max-sm\:pt-6 {
    padding-top: 1.5rem;
  }
}

@media not all and (min-width: 561px) {
  .max-xs\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .max-xs\:p-4 {
    padding: 1rem;
  }
}

@media (min-width: 901px) {
  @media not all and (min-width: 1101px) {
    .md\:max-lg\:pt-16 {
      padding-top: 4rem;
    }
  }
}

@media (min-width: 1101px) {
  @media not all and (min-width: 1281px) {
    .lg\:max-2xl\:basis-\[28rem\] {
      flex-basis: 28rem;
    }

    .lg\:max-2xl\:gap-8 {
      gap: 2rem;
    }
  }
}

.\[\&\+\&\]\:-mt-px+.\[\&\+\&\]\:-mt-px {
  margin-top: -1px;
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

.gs-stepper-line[data-v-fd7ad8dd] {
  left: calc(50% + 1.5rem);
  right: calc(-50% + 1.5rem);
  top: 1.125rem;
  background: #e2e4ee;
}


/* GS Admissions — Degree Radio Card */

#apply .gs-radio-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 72px;
  padding: 16px;
  border: 1px solid #8b8fa8;
  border-radius: 1rem;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}


#apply .gs-radio-card:has(input:checked) {
  border-color: #c83d01;
  background-color: #fffbfa;
}

#apply .gs-radio-card .radio {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  aspect-ratio: 1;
  accent-color: #c83d01;
}

#apply .gs-radio-card .radio__text {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
  color: #12142e;
}


@media (max-width: 420px) {
  #apply .gs-radio-card {
    min-height: 64px;
    padding: 12px;
    gap: 8px;
  }
}


/* GS Admissions — Neon Orange accent patch
   Add AFTER existing compiled style.css. Does not replace Tailwind/DaisyUI CSS.
   Color reference: Figma Neon Orange #FF5C00.
   Keep layout and JS hooks unchanged. */
:root {
  --gs-neon: #ff5c00;
  --gs-neon-hover: #e65300;
  --gs-neon-highlight: #ffb343;
  --gs-neon-soft: #fff1e8;
  --gs-neon-ink: #9a3800;
  --gs-neon-ring: rgba(255, 92, 0, .22);
}

/* Buttons: include legacy and DaisyUI markup without changing geometry */
.btn.btn--filled,
#apply .btn.btn-primary,
#apply button.btn--filled {
  background: linear-gradient(112deg, var(--gs-neon), #ff7d33);
  border-color: var(--gs-neon);
  color: #171122;
  box-shadow: 0 7px 20px rgba(255, 92, 0, .22);
}

.btn.btn--filled:hover:not(:disabled),
#apply .btn.btn-primary:hover:not(:disabled) {
  background: linear-gradient(112deg, #ff7d33, var(--gs-neon-highlight));
  border-color: var(--gs-neon);
  color: #171122;
  box-shadow: 0 10px 25px rgba(255, 92, 0, .3);
}

.btn.btn--filled:disabled,
#apply .btn.btn-primary:disabled {
  box-shadow: none;
  opacity: .55;
}

/* Secondary button and text CTA */
.btn.btn--outlined,
.btn.btn--text,
#apply .btn.btn-ghost {
  color: var(--gs-neon-ink);
}

.btn.btn--outlined {
  border-color: var(--gs-neon);
}

.btn.btn--outlined:hover {
  background: var(--gs-neon-ink);
  border-color: var(--gs-neon-ink);
  color: #fff;
}

.btn.btn--text:hover,
#apply .btn.btn-ghost:hover {
  background-color: var(--gs-neon-soft);
}

/* Form fields: don't overwrite DaisyUI geometry */
#apply :is(input.input, select.select, textarea.textarea, select.input):focus,
#apply :is(input.input, select.select, textarea.textarea, select.input):focus-visible {
  border-color: var(--gs-neon);
  outline-color: var(--gs-neon);
  box-shadow: 0 0 0 3px var(--gs-neon-ring);
}

#apply :is(input.input, select.select, textarea.textarea, select.input)[aria-invalid="true"] {
  border-color: #FF0023;
  box-shadow: none;
}

/* Card radio: compatible with .gs-radio-card label and the original radio--card */
#apply :is(.gs-radio-card, label.radio--card) {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}




#apply .gs-radio-card input[type="radio"].radio {
  accent-color: var(--gs-neon);
}

#apply :is(.gs-radio-card, label.radio--card):has(input:focus-visible) {
  outline: 2px solid var(--gs-neon);
  outline-offset: 2px;
}

#apply :is(.gs-radio-card, label.radio--card) .radio__text {
  color: #12142e;
}

/* Stepper — retain JS state .is-current and .is-done */
#apply [data-stepper-item].is-current [data-stepper-num],
#apply [data-stepper-item].is-done [data-stepper-num] {
  background-color: var(--gs-neon);
  border-color: var(--gs-neon);

}

#apply [data-stepper-item].is-current .gs-stepper-line,
#apply [data-stepper-item].is-done .gs-stepper-line {
  background-color: var(--gs-neon);
}

/* Non-form highlights */
.eyebrow {
  color: var(--gs-neon-ink);
}

.eyebrow--line::before {
  background: var(--gs-neon);
}

#apply .field__required {
  color: #FF0023;
}

#apply .field__hint {
  color: #525672;
}

#apply .field__error {
  color: #FF0023;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .btn.btn--filled, #apply .gs-radio-card, #apply label.radio--card {
    transition: none;
  }
}


/* GS Admissions — Vibrant Orange Hero */

.gs-apply {
  --gs-hero-orange: #FF5C00;
}

.gs-apply>#top>header,
.gs-apply .bg-hero-photo {
  background-color: var(--gs-hero-orange);
}

.gs-apply .bg-hero-tint {
  background-image:
    linear-gradient(180deg,
      rgba(22, 17, 14, .20) 0%,
      transparent 8rem),
    linear-gradient(180deg,
      rgba(255, 92, 0, 0) 35vw,
      #FF5C00 53vw),
    linear-gradient(90deg,
      rgba(166, 48, 0, .67) 0%,
      rgba(224, 65, 0, .55) 30%,
      rgba(255, 92, 0, .28) 60%,
      rgba(255, 92, 0, .04) 100%);
}

@media (max-width: 900px) {
  .gs-apply .bg-hero-tint.max-\[900px\]\:bg-hero-tint-mobile {
    background-image:
      linear-gradient(180deg,
        rgba(22, 17, 14, .18) 0%,
        transparent 8rem),
      linear-gradient(90deg,
        rgba(176, 48, 0, .55) 0%,
        rgba(255, 92, 0, .36) 60%,
        rgba(255, 92, 0, .10) 100%);
  }
}

.select, .input, .textarea {
  font-size: 1.25rem !important;
  font-weight: 500 !important;
}

.checkbox {
  height: unset;
  width: unset;
}

.checkbox {
  height: unset !important;
  width: unset !important;
}

.checkbox input {
  height: 1.5rem !important;
  width: 2rem !important;
  margin-left: 1rem !important;
}

.btn {
  font-size: 1.25rem !important;
  font-weight: 500 !important;
}