/* inter-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/inter-v20-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100;
  src: url('fonts/inter-v20-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/inter-v20-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/inter-v20-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/inter-v20-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/inter-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/inter-v20-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/inter-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/inter-v20-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/inter-v20-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/inter-v20-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/inter-v20-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/inter-v20-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* --- Your Custom Styles --- */
:root {
    --primary-color: #ff7e55; /* Warm Orange */
    --secondary-color: #F6AD55; /* Lighter Orange Accent */
    --background-color: #F7FAFC; /* Light Gray */
}
body {
    font-family: 'Inter', sans-serif;
    background-color: var(--background-color);
    color: #2D3748; /* Dark Gray */
}
.text-primary { color: var(--primary-color); }
.bg-primary { background-color: var(--primary-color); }
.border-primary { border-color: var(--primary-color); }
.text-secondary { color: var(--secondary-color); }
.border-secondary { border-color: var(--secondary-color); }
.btn-primary {
    background-color: var(--primary-color);
    transition: transform 0.1s ease;
}
.btn-primary:hover {
    background-color: #ff6a3d; /* Slightly darker orange */
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.shadow-lift {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}
.shadow-lift:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}
.whatsapp-bg { background-color: #25D366; }
.whatsapp-bg:hover { background-color: #1eaf53; }


/* --- Base Tailwind Styles & Utilities --- */
*,:after,:before { box-sizing: border-box; border: 0 solid #e5e7eb }
:after,:before { --tw-content: "" }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; font-feature-settings: normal; font-variation-settings: normal }
body { margin: 0; line-height: inherit }
h1,h2,h3,p,ul { margin: 0; padding: 0 }
button, input, optgroup, select, textarea{ font-family: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0 }
button { text-transform: none }
button,[type=button] { -webkit-appearance: button; background-color: transparent; background-image: none }
a { color: inherit; text-decoration: inherit }
img { display: block; vertical-align: middle; max-width: 100%; height: auto }
svg { display: block; vertical-align: middle }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale }
.absolute { position: absolute }
.relative { position: relative }
.sticky { position: -webkit-sticky; position: sticky }
.fixed { position: fixed }
.bottom-0 { bottom: 0 }
.bottom-6 { bottom: 1.5rem }
.left-0 { left: 0 }
.left-4 { left: 1rem }
.right-0 { right: 0 }
.right-4 { right: 1rem }
.top-0 { top: 0 }
.z-40 { z-index: 40 }
.z-50 { z-index: 50 }
.order-1 { order: 1 }
.order-2 { order: 2 }
.mx-2 { margin-left: .5rem; margin-right: .5rem }
.mx-4 { margin-left: 1rem; margin-right: 1rem }
.mx-auto { margin-left: auto; margin-right: auto }
.mb-0 { margin-bottom: 0 }
.mb-1 { margin-bottom: .25rem }
.mb-10 { margin-bottom: 2.5rem }
.mb-12 { margin-bottom: 3rem }
.mb-2 { margin-bottom: .5rem }
.mb-3 { margin-bottom: .75rem }
.mb-4 { margin-bottom: 1rem }
.mb-6 { margin-bottom: 1.5rem }
.mb-8 { margin-bottom: 2rem }
.ml-1 { margin-left: .25rem }
.ml-1\.5 { margin-left: .375rem }
.ml-2 { margin-left: .5rem }
.ml-4 { margin-left: 1rem }
.mr-1 { margin-right: .25rem }
.mr-2 { margin-right: .5rem }
.mr-3 { margin-right: .75rem }
.mr-4 { margin-right: 1rem }
.mt-0 { margin-top: 0 }
.mt-1 { margin-top: .25rem }
.mt-1\.5 { margin-top: .375rem }
.mt-12 { margin-top: 3rem }
.mt-16 { margin-top: 4rem }
.mt-2 { margin-top: .5rem }
.mt-3 { margin-top: .75rem }
.mt-4 { margin-top: 1rem }
.mt-5 { margin-top: 1.25rem }
.mt-6 { margin-top: 1.5rem }
.mt-8 { margin-top: 2rem }
.block { display: block }
.inline-block { display: inline-block }
.flex { display: flex }
.inline-flex { display: inline-flex }
.grid { display: grid }
.hidden { display: none }
.h-10 { height: 2.5rem }
.h-14 { height: 3.5rem }
.h-16 { height: 4rem }
.h-24 { height: 6rem }
.h-32 { height: 8rem }
.h-4 { height: 1rem }
.h-48 { height: 12rem }
.h-5 { height: 1.25rem }
.h-56 { height: 14rem }
.h-6 { height: 1.5rem }
.h-8 { height: 2rem }
.h-96 { height: 24rem }
.h-auto { height: auto }
.h-full { height: 100% }
.min-h-screen { min-height: 100vh }
.w-10 { width: 2.5rem }
.w-24 { width: 6rem }
.w-32 { width: 8rem }
.w-4 { width: 1rem }
.w-48 { width: 12rem }
.w-5 { width: 1.25rem }
.w-52 { width: 13rem }
.w-6 { width: 1.5rem }
.w-64 { width: 16rem }
.w-auto { width: auto }
.w-full { width: 100% }
.min-w-full { min-width: 100% }
.max-w-2xl { max-width: 42rem }
.max-w-3xl { max-width: 48rem }
.max-w-4xl { max-width: 56rem }
.max-w-6xl { max-width: 72rem }
.max-w-7xl { max-width: 80rem }
.max-w-lg { max-width: 32rem }
.max-w-none { max-width: none }
.max-w-sm { max-width: 24rem }
.max-w-xl { max-width: 36rem }
.max-w-xs { max-width: 20rem }
.flex-1 { flex: 1 1 0% }
.flex-grow { flex-grow: 1 }
.flex-shrink { flex-shrink: 1 }
.flex-shrink-0 { flex-shrink: 0 }
.flex-col { flex-direction: column }
.items-center { align-items: center }
.items-start { align-items: flex-start }
.justify-center { justify-content: center }
.justify-end { justify-content: flex-end }
.justify-between { justify-content: space-between }
.gap-10 { gap: 2.5rem }
.gap-12 { gap: 3rem }
.gap-4 { gap: 1rem }
.gap-6 { gap: 1.5rem }
.gap-8 { gap: 2rem }
.gap-x-8 { -moz-column-gap: 2rem; column-gap: 2rem }
.gap-y-12 { row-gap: 3rem }
.space-x-1>:not([hidden])~:not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(.25rem * var(--tw-space-x-reverse)); margin-left: calc(.25rem * (1 - var(--tw-space-x-reverse))) }
.space-x-2>:not([hidden])~:not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(.5rem * var(--tw-space-x-reverse)); margin-left: calc(.5rem * (1 - var(--tw-space-x-reverse))) }
.space-x-3>:not([hidden])~:not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(.75rem * var(--tw-space-x-reverse)); margin-left: calc(.75rem * (1 - var(--tw-space-x-reverse))) }
.space-x-4>:not([hidden])~:not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * (1 - var(--tw-space-x-reverse))) }
.space-y-1>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(.25rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(.25rem * var(--tw-space-y-reverse)) }
.space-y-16>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(4rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(4rem * var(--tw-space-y-reverse)) }
.space-y-2>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(.5rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(.5rem * var(--tw-space-y-reverse)) }
.space-y-3>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(.75rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(.75rem * var(--tw-space-y-reverse)) }
.space-y-4>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)) }
.space-y-6>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)) }
.space-y-8>:not([hidden])~:not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(2rem * (1 - var(--tw-space-y-reverse))); margin-bottom: calc(2rem * var(--tw-space-y-reverse)) }
.divide-y>:not([hidden])~:not([hidden]) { --tw-divide-y-reverse: 0; border-top-width: calc(1px * (1 - var(--tw-divide-y-reverse))); border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) }
.divide-gray-200>:not([hidden])~:not([hidden]) { border-color: #e5e7eb }
.overflow-hidden { overflow: hidden }
.overflow-x-auto { overflow-x: auto }
.rounded-full { border-radius: 9999px }
.rounded-lg { border-radius: .5rem }
.rounded-xl { border-radius: .75rem }
.border { border-width: 1px }
.border-4 { border-width: 4px }
.border-b { border-bottom-width: 1px }
.border-b-2 { border-bottom-width: 2px }
.border-l-2 { border-left-width: 2px }
.border-l-4 { border-left-width: 4px }
.border-t { border-top-width: 1px }
.border-t-4 { border-top-width: 4px }
.border-gray-100 { border-color: #f3f4f6 }
.border-gray-200 { border-color: #e5e7eb }
.border-gray-300 { border-color: #d1d5db }
.border-gray-700 { border-color: #374151 }
.bg-gray-100 { background-color: #f3f4f6 }
.bg-gray-200 { background-color: #e5e7eb }
.bg-gray-50 { background-color: #f9fafb }
.bg-gray-800 { background-color: #1f2937 }
.bg-white { background-color: #fff }
.bg-yellow-50 { background-color: #fefce8 }
.bg-opacity-90 { background-color: rgba(255,126,85,.9) }
.object-cover { -o-object-fit: cover; object-fit: cover }
.p-2 { padding: .5rem }
.p-3 { padding: .75rem }
.p-4 { padding: 1rem }
.p-6 { padding: 1.5rem }
.p-8 { padding: 2rem }
.pb-2 { padding-bottom: .5rem }
.pb-4 { padding-bottom: 1rem }
.pb-8 { padding-bottom: 2rem }
.pl-4 { padding-left: 1rem }
.pr-8 { padding-right: 2rem }
.pt-2 { padding-top: .5rem }
.pt-4 { padding-top: 1rem }
.pt-6 { padding-top: 1.5rem }
.pt-8 { padding-top: 2rem }
.px-4 { padding-left: 1rem; padding-right: 1rem }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem }
.py-1 { padding-top: .25rem; padding-bottom: .25rem }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem }
.py-12 { padding-top: 3rem; padding-bottom: 3rem }
.py-16 { padding-top: 4rem; padding-bottom: 4rem }
.py-2 { padding-top: .5rem; padding-bottom: .5rem }
.py-3 { padding-top: .75rem; padding-bottom: .75rem }
.py-4 { padding-top: 1rem; padding-bottom: 1rem }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem }
.text-left { text-align: left }
.text-center { text-align: center }
.text-right { text-align: right }
.text-2xl { font-size: 1.5rem; line-height: 2rem }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem }
.text-base { font-size: 1rem; line-height: 1.5rem }
.text-lg { font-size: 1.125rem; line-height: 1.75rem }
.text-sm { font-size: .875rem; line-height: 1.25rem }
.text-xl { font-size: 1.25rem; line-height: 1.75rem }
.text-xs { font-size: .75rem; line-height: 1rem }
.font-bold { font-weight: 700 }
.font-extrabold { font-weight: 800 }
.font-medium { font-weight: 500 }
.font-normal { font-weight: 400 }
.font-semibold { font-weight: 600 }
.uppercase { text-transform: uppercase }
.italic { font-style: italic }
.not-italic { font-style: normal }
.leading-tight { line-height: 1.25 }
.tracking-tight { letter-spacing: -.025em }
.tracking-wider { letter-spacing: .05em }
.text-gray-300 { color: #d1d5db }
.text-gray-400 { color: #9ca3af }
.text-gray-500 { color: #6b7280 }
.text-gray-600 { color: #4b5563 }
.text-gray-700 { color: #374151 }
.text-gray-800 { color: #1f2937 }
.text-gray-900 { color: #111827 }
.text-green-600 { color: #16a34a }
.text-white { color: #fff }
.text-yellow-400 { color: #facc15 }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,.25) }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1) }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1) }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,.05) }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1) }
.outline-none { outline: 2px solid transparent; outline-offset: 2px }
.transition { transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter; transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter; transition-property: color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter; transition-timing-function: cubic-bezier(.4,0,.2,1); transition-duration: .15s }
.duration-150 { transition-duration: .15s }
.duration-200 { transition-duration: .2s }
.duration-300 { transition-duration: .3s }
.group:hover .group-hover\:rotate-180 { transform: rotate(180deg) }
details[open] summary .group-open\:rotate-180 { transform: rotate(180deg); }
.hover\:bg-ff6a3d:hover { background-color: #ff6a3d }
.hover\:bg-gray-100:hover { background-color: #f3f4f6 }
.hover\:bg-orange-600:hover { background-color: #ea580c }
.hover\:bg-opacity-90:hover { background-color: rgba(255,126,85,.9) }
.hover\:text-pink-500:hover { color: #ec4899 }
.hover\:text-primary:hover { color: var(--primary-color) }
.hover\:text-red-500:hover { color: #ef4444 }
.hover\:text-blue-600:hover { color: #2563eb }
.hover\:text-secondary:hover { color: var(--secondary-color) }
.hover\:underline:hover { text-decoration-line: underline }
.focus\:border-primary:focus { border-color: var(--primary-color) }
.focus\:border-secondary:focus { border-color: var(--secondary-color) }
/* Removed focus:ring-* rules */

@media (min-width:640px) {
    .sm\:block { display: block }
    .sm\:inline { display: inline } /* Added for legal link separators */
    .sm\:flex-row { flex-direction: row }
    .sm\:items-start { align-items: flex-start }
    .sm\:order-1 { order: 1 }
    .sm\:order-2 { order: 2 }
    .sm\:mt-0 { margin-top: 0 }
    .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem }
    .sm\:text-5xl { font-size: 3rem; line-height: 1 }
    .sm\:text-base { font-size: 1rem; line-height: 1.5rem }
    .sm\:text-4xl { font-size: 2.25rem; line-height: 2.5rem }
    .sm\:text-left { text-align: left } /* Added for middle grid alignment */
    .sm\:justify-start { justify-content: flex-start } /* Added for contact items */
    .sm\:left-6 { left: 1.5rem }
    .sm\:right-6 { right: 1.5rem }
    .sm\:space-x-4 { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * (1 - var(--tw-space-x-reverse))) } /* Added for legal links */
}
@media (min-width:768px) {
    .md\:flex-row { flex-direction: row } /* Added */
    .md\:items-start { align-items: flex-start } /* Added */
    .md\:text-left { text-align: left } /* Added */
    .md\:mb-0 { margin-bottom: 0 } /* Added */
    .md\:mx-0 { margin-left: 0; margin-right: 0 } /* Added */
    .md\:grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)) }
    .md\:grid-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)) }
    .md\:grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)) }
    .md\:grid-cols-5 { grid-template-columns: repeat(5,minmax(0,1fr)) }
    .md\:mt-0 { margin-top: 0 }
    .md\:gap-12 { gap: 3rem }
    .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem }
    .md\:text-6xl { font-size: 3.75rem; line-height: 1 }
    .md\:text-5xl { font-size: 3rem; line-height: 1 }
    .md\:justify-start { justify-content: flex-start } /* Added for social icons */
}
@media (min-width:1024px) {
    .lg\:hidden { display: none }
    .lg\:flex { display: flex }
    .lg\:grid { display: grid }
    .lg\:grid-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)) }
    .lg\:grid-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)) }
    .lg\:grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)) }
    .lg\:col-span-1 { grid-column: span 1/span 1 }
    .lg\:col-span-2 { grid-column: span 2/span 2 }
    .lg\:col-span-3 { grid-column: span 3/span 3 }
    .lg\:order-1 { order: 1 }
    .lg\:order-2 { order: 2 }
    .lg\:mb-0 { margin-bottom: 0 }
    .lg\:pr-8 { padding-right: 2rem }
    .lg\:px-8 { padding-left: 2rem; padding-right: 2rem }
    .lg\:justify-start { justify-content: flex-start; } /* Added from USP fix */
    .lg\:max-w-none { max-width: none; } /* Added from USP fix */
    .lg\:mx-0 { margin-left: 0px; margin-right: 0px; } /* Added from USP fix */
}

/* --- Added by Sandeep --- */
menu, ol, ul { list-style: none; margin: 0; padding: 0; }
button, a { transition: all 0.15s ease; }
button:hover, a:hover { cursor: pointer; }
button:focus, a:focus { outline: none; }
/* --- End Added by Sandeep --- */

/* --- Additional Styles for Course Page --- */
.self-start { align-self: flex-start; }
.list-disc { list-style-type: disc; }
.list-inside { list-style-position: inside; }
.whitespace-nowrap { white-space: nowrap; }

/* --- Additional Styles for Blog & Blog Detail Pages --- */
.prose { color: #374151; max-width: 65ch; }
.prose h2 { color: var(--primary-color); font-weight: 700; font-size: 1.875rem; line-height: 2.25rem; padding-top: 1.5rem; margin-bottom: 1rem; }
.prose p { margin-top: 1.25em; margin-bottom: 1.25em; }
.prose .lead { font-size: 1.25rem; line-height: 1.75rem; color: #1f2937; font-weight: 500; }
.prose ul { list-style-type: disc; margin-top: 1.25em; margin-bottom: 1.25em; padding-left: 1.625em; }
.prose ul > li { margin-top: 0.5em; margin-bottom: 0.5em; }
.prose blockquote { margin-top: 1.6em; margin-bottom: 1.6em; padding: 1rem; background-color: #f3f4f6; border-radius: 0.5rem; border-left-width: 4px; border-color: var(--secondary-color); font-style: italic; }

/* Sidebar handled by responsive rules below */

/* --- START: Additional CSS for Payment and Contact Pages --- */
.page-container { max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 640px) { .page-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .page-container { padding-left: 2rem; padding-right: 2rem; } }
.page-hero { background-color: #f9fafb; padding-top: 4rem; padding-bottom: 4rem; }
.page-section { padding-top: 4rem; padding-bottom: 4rem; }
.page-title { font-size: 2.25rem; line-height: 2.5rem; font-weight: 800; color: #1f2937; margin-bottom: 0.5rem; }
@media (min-width: 640px) { .page-title { font-size: 3rem; line-height: 1; } }
.page-subtitle { font-size: 1.25rem; color: var(--primary-color); font-weight: 600; }
.section-title { font-size: 1.875rem; line-height: 2.25rem; font-weight: 700; text-align: center; color: var(--primary-color); margin-bottom: 3rem; }
/* Payment Page */
.payment-options-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 2rem; }
@media (min-width: 768px) { .payment-options-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.payment-card { background-color: #fff; padding: 2rem; border-radius: 0.75rem; border-top: 4px solid var(--secondary-color); text-align: center; }
.payment-card-icon { height: 3rem; margin-left: auto; margin-right: auto; margin-bottom: 1rem; color: var(--primary-color); }
.payment-card-title { font-size: 1.5rem; line-height: 2rem; font-weight: 600; color: #1f2937; margin-bottom: 0.75rem; }
.payment-card-description { color: #4b5563; margin-bottom: 1.5rem; }
.payment-card-note { font-size: 0.875rem; line-height: 1.25rem; color: #6b7280; font-weight: 600; }
.payment-card-button { width: 100%; padding-top: 0.75rem; padding-bottom: 0.75rem; border-radius: 0.5rem; font-weight: 600; display: inline-block; color: #fff; }
.payment-card-button.btn-outline { background-color: #fff; color: var(--primary-color); border: 1px solid var(--primary-color); }
.policy-container { max-width: 56rem; margin-left: auto; margin-right: auto; }
.policy-content { background-color: #fff; padding: 2rem; border-radius: 0.75rem; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); }
.policy-content > *:not(:last-child) { margin-bottom: 3rem; }
.policy-title { font-size: 1.875rem; font-weight: 700; color: var(--primary-color); margin-bottom: 1rem; border-bottom: 1px solid #e5e7eb; padding-bottom: 0.5rem; }
.policy-text { font-size: 1.125rem; line-height: 1.75rem; color: #374151; }
.policy-text > p:not(:last-child) { margin-bottom: 1rem; }
/* Contact Page */
.contact-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 1024px) { .contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; } }
.contact-form-wrapper { background-color: #fff; padding: 2rem; border-radius: 0.75rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
@media (min-width: 1024px) { .contact-form-wrapper { grid-column: span 2 / span 2; } }
.section-title-alt { font-size: 1.875rem; line-height: 2.25rem; font-weight: 700; color: var(--primary-color); margin-bottom: 1.5rem; }
.contact-form > .form-field:not(:last-child) { margin-bottom: 1.5rem; }
.form-label { display: block; font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; color: #374151; margin-bottom: 0.25rem; }
.form-input { width: 100%; padding: 0.75rem; border: 1px solid #d1d5db; border-radius: 0.5rem; }
.form-input:focus { outline: 2px solid transparent; outline-offset: 2px; border-color: var(--secondary-color); box-shadow: 0 0 0 3px rgba(246, 173, 85, 0.25); }
.form-submit-button { color: #fff; font-weight: 700; width: 100%; padding-top: 0.75rem; padding-bottom: 0.75rem; border-radius: 0.5rem; font-size: 1.125rem; text-transform: uppercase; box-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); transition-property: background-color; transition-duration: 0.15s; background-color: var(--secondary-color); }
.form-submit-button:hover { background-color: #ff6a3d; }
.contact-info-sidebar { margin-top: 3rem; }
/* Sidebar sticky handled by responsive rules below */
.contact-info-card { background-color: #fff; padding: 2rem; border-radius: 0.75rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); border-left: 4px solid var(--secondary-color); }
.contact-info-card > *:not(:first-child) { margin-top: 2rem; }
.contact-info-item { display: flex; align-items: flex-start; }
.contact-info-item > *:not(:last-child) { margin-right: 0.75rem; }
.contact-info-group > *:not(:last-child) { margin-bottom: 1rem; }
.contact-info-icon { width: 1.5rem; height: 1.5rem; color: var(--primary-color); flex-shrink: 0; margin-top: 0.25rem; }
.contact-info-label { font-weight: 600; color: #374151; }
.contact-info-link { color: var(--primary-color); }
.contact-info-link:hover { color: var(--secondary-color); }
.contact-info-link-whatsapp { color: #16a34a; font-weight: 600; }
.contact-info-link-whatsapp:hover { color: #15803d; }
.map-container { background-color: #e5e7eb; height: 24rem; border-radius: 0.75rem; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
.map-image { width: 100%; height: 100%; object-fit: cover; }
/* --- END: Payment/Contact CSS --- */

/* ================================== */
/* == Additional CSS for FAQ Page  == */
/* ================================== */
.faq-hero { background-color: #f9fafb; padding-top: 4rem; padding-bottom: 4rem; }
.faq-hero-content { max-width: 80rem; margin-left: auto; margin-right: auto; text-align: center; padding-left: 1rem; padding-right: 1rem; }
.faq-hero-title { font-size: 2.25rem; font-weight: 800; color: #1f2937; margin-bottom: 0.5rem; }
.faq-hero-subtitle { font-size: 1.25rem; color: var(--primary-color); font-weight: 600; }
.faq-container { max-width: 56rem; margin-left: auto; margin-right: auto; padding-top: 4rem; padding-bottom: 4rem; padding-left: 1rem; padding-right: 1rem; }
.faq-category { margin-bottom: 1.5rem; }
.faq-category:not(:first-child) { padding-top: 2rem; }
.faq-category-title { font-size: 1.5rem; font-weight: 700; color: var(--primary-color); margin-bottom: 1.5rem; border-bottom: 2px solid var(--primary-color); padding-bottom: 0.5rem; }
.faq-list { display: flex; flex-direction: column; gap: 1rem; }
.faq-item { background-color: #ffffff; padding: 1rem; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); border-left: 4px solid var(--secondary-color); }
.faq-question { font-weight: 600; font-size: 1.125rem; color: #1f2937; cursor: pointer; transition: color 0.15s ease-in-out; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-question::-webkit-details-marker { display: none; }
.faq-question:hover { color: var(--primary-color); }
.faq-answer { margin-top: 0.75rem; color: #4b5563; padding-left: 1rem; }
details[open] > *:not(summary) { animation: sweep 0.5s ease-in-out; }
@keyframes sweep { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } }
@media (min-width: 640px) { .faq-hero-title { font-size: 3rem; line-height: 1; } .faq-hero-content, .faq-container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .faq-hero-content, .faq-container { padding-left: 2rem; padding-right: 2rem; } }

/* START: CSS for Payment/Course Page Sidebar Form (Radio Buttons) */
.course-options-wrapper { display: flex; flex-direction: column; gap: 10px; }
.radio-option { position: relative; }
.radio-option input[type="radio"] { opacity: 0; position: absolute; width: 100%; height: 100%; cursor: pointer; }
.radio-option label { display: block; background-color: #f8fafc; border: 2px solid #e5e7eb; border-radius: 8px; padding: 15px; transition: all 0.3s ease; cursor: pointer; position: relative; padding-left: 45px; }
.radio-option label::before { content: ''; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border: 2px solid #d1d5db; border-radius: 50%; background-color: #fff; transition: border-color 0.3s ease; }
.radio-option label::after { content: ''; position: absolute; left: 20px; top: 50%; transform: translateY(-50%) scale(0); width: 10px; height: 10px; border-radius: 50%; background-color: var(--primary-color); transition: transform 0.3s ease; }
.radio-option input[type="radio"]:checked + label { border-color: var(--primary-color); background-color: #fff7ed; box-shadow: 0 4px 8px rgba(0,0,0,0.05); }
.radio-option input[type="radio"]:checked + label::before { border-color: var(--primary-color); }
.radio-option input[type="radio"]:checked + label::after { transform: translateY(-50%) scale(1); }
.radio-option .option-title { font-weight: 700; color: #1f2937; }
.radio-option .option-price { float: right; font-weight: 700; color: #16a34a; }
.radio-option .option-desc { display: block; font-size: 0.85rem; color: #6b7280; margin-top: 4px; }
/* END: CSS Block */

/* --- Mobile Sticky CTA Buttons --- */
.mobile-sticky-cta { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #ffffff; box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); padding: 10px 15px; z-index: 40; display: flex; gap: 10px; transition: transform 0.4s ease-in-out; transform: translateY(0); }
.mobile-sticky-cta.is-hidden { transform: translateY(150%); }
.mobile-sticky-cta button, .mobile-sticky-cta a { flex: 1; text-decoration: none; border: none; }
@media (max-width: 768px) { body { padding-bottom: 80px; } }
@media (min-width: 769px) { .mobile-sticky-cta { display: none !important; } }

/* ======================================================= */
/* ===========   RESPONSIVE YOUTUBE EMBED    =========== */
/* ======================================================= */
.video-responsive-wrapper { position: relative; overflow: hidden; width: 100%; padding-top: 56.25%; }
.video-responsive-wrapper iframe { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; border: none; }

/* =================================================== */
/* =========== RESPONSIVE TABLE (FINAL)    =========== */
/* =================================================== */
.responsive-table-wrapper table { background-color: #fefce8; border: 1px solid #fde68a; }
.responsive-table-wrapper thead { border-bottom: 2px solid #fde68a; }
.responsive-table-wrapper tbody tr { border-bottom-color: #fde68a; }
@media (max-width: 768px) {
    .responsive-table-wrapper table { border: 0; box-shadow: none; }
    .responsive-table-wrapper thead { display: none; }
    .responsive-table-wrapper tr { display: block; margin-bottom: 1.5rem; border-radius: 0.5rem; box-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); overflow: hidden; background-color: #fefce8; border: 1px solid #fde68a; }
    .responsive-table-wrapper td { display: block; padding: 0.75rem 1rem; text-align: right; position: relative; border-bottom: 1px solid #fde68a; }
    .responsive-table-wrapper td:last-child { border-bottom: 0; }
    .responsive-table-wrapper td::before { content: attr(data-label); position: absolute; left: 1rem; font-weight: bold; text-align: left; color: #1f2937; }
}

/* ======================================================= */
/* ===========   NEW STYLES FOR OPTIMIZED MENU   =========== */
/* ======================================================= */
.nav-button { display: flex; align-items: center; padding: 0.5rem 0.75rem; color: #4b5563; text-transform: uppercase; transition: color 0.15s ease-in-out; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 600; }
.nav-button:hover { color: var(--primary-color); }
.nav-arrow { width: 1rem; height: 1rem; margin-left: 0.25rem; transition: transform 0.2s ease; }
.dropdown-menu { position: absolute; display: none; z-index: 50; background-color: #fff; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1); border-radius: 0.5rem; border: 1px solid #f3f4f6; margin-top: 0.5rem; padding: 0.25rem 0; opacity: 0; transform: translateY(10px); transition: all 0.25s ease-out; }
.dropdown-link { display: block; padding: 0.5rem 1rem; color: #374151; font-size: 0.875rem; }
.dropdown-link:hover { background-color: #f3f4f6; }
.mega-menu { padding: 1rem 1.5rem; }
.mega-menu-heading { font-weight: 700; color: var(--primary-color); text-transform: uppercase; font-size: 0.875rem; margin-bottom: 0.75rem; border-bottom: 2px solid var(--secondary-color); padding-bottom: 0.75rem; }
.mega-menu-link { display: block; padding: 0.5rem; margin-left: -0.5rem; margin-right: -0.5rem; color: #4b5563; border-radius: 0.25rem; transition: background-color 0.2s ease, color 0.2s ease; font-size: 0.875rem; }
.mega-menu-link:hover { background-color: #f9fafb; color: var(--primary-color); }
.group-dropdown:hover > .dropdown-menu { display: block; opacity: 1; transform: translateY(0); }
.group-dropdown:hover .nav-arrow { transform: rotate(180deg); }
.group-dropdown::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1rem; height: 1rem; }
#mobile-menu { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-in-out; display: block; visibility: visible; }
#mobile-menu.open { max-height: 100vh; }
.mobile-menu-summary { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 0.5rem; color: #374151; text-transform: uppercase; font-weight: 600; border-radius: 0.375rem; cursor: pointer; list-style: none; }
.mobile-menu-summary::-webkit-details-marker { display: none; }
.mobile-menu-summary:hover { background-color: #f3f4f6; }
.mobile-submenu { padding-left: 1.5rem; padding-top: 0.5rem; border-left: 1px solid #e5e7eb; margin-left: 0.75rem; }
.mobile-submenu-heading { font-weight: 600; color: var(--primary-color); text-transform: uppercase; font-size: 0.75rem; margin-top: 0.75rem; margin-bottom: 0.25rem; }
.mobile-submenu-link { display: block; padding: 0.5rem; font-size: 0.875rem; color: #4b5563; border-radius: 0.375rem; text-transform: none; font-weight: 500; }
.mobile-submenu-link:hover { background-color: #f9fafb; }
.mega-menu-horizontal-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.mega-menu-horizontal-layout > div { flex: 1; }

/* ======================================================= */
/* == RESPONSIVE LAYOUT FOR CONTENT + SIDEBAR (CORRECTED)== */
/* ======================================================= */

/* --- Default (Mobile & Tablet < 1024px) --- */
.md\:grid.md\:grid-cols-3 {
    display: block; /* Override grid display below 1024px */
}
.md\:col-span-2,
.md\:col-span-1 {
    grid-column: auto; /* Reset column spans below 1024px */
}
aside.sidebar { /* Target the sidebar specifically */
    margin-top: 3rem; /* Add space when it stacks below */
    position: relative; /* Default position */
    top: auto;        /* Default top */
}

/* --- Desktop (>= 1024px) --- */
@media (min-width: 1024px) {
    .md\:grid.md\:grid-cols-3 { /* Target specific existing classes */
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr)); /* Re-apply 3 columns */
        gap: 3rem; /* Re-apply gap */
    }
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    aside.sidebar { /* Target the sidebar specifically */
        margin-top: 0; /* Remove top margin on desktop */
        position: -webkit-sticky; /* Apply sticky */
        position: sticky;
        top: 6rem; /* Desired sticky offset */
        align-self: start; /* Align to the top of the grid row */
        height: -webkit-fit-content; /* Ensure correct height calculation */
        height: -moz-fit-content;
        height: fit-content;
    }
}