@import url('fonts.css');

*,:after,:before{--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:rgba(59,130,246,.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:rgba(59,130,246,.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.13 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.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-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-\[42px\]{margin-top:42px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-40{height:10rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[220px\]{height:220px}.h-\[420px\]{height:420px}.h-full{height:100%}.max-h-\[70vh\]{max-height:70vh}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-\[86vh\]{min-height:86vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1400px\]{max-width:1400px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-none{flex:none}.grow{flex-grow:1}.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))}.scroll-mt-24{scroll-margin-top:6rem}.scroll-mt-28{scroll-margin-top:7rem}.scroll-mt-32{scroll-margin-top:8rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-\[\#abb8c34d\]>:not([hidden])~:not([hidden]){border-color:#abb8c34d}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-\[\#abb8c34d\]{border-color:#abb8c34d}.border-\[\#abb8c3b3\]{border-color:#abb8c3b3}.border-\[\#fcb900\]{--tw-border-opacity:1;border-color:rgb(252 185 0/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.bg-\[\#7d1645\]{--tw-bg-opacity:1;background-color:rgb(125 22 69/var(--tw-bg-opacity))}.bg-\[\#f5f7f9\]{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-\[\#f7f2ef\]{--tw-bg-opacity:1;background-color:rgb(247 242 239/var(--tw-bg-opacity))}.bg-\[\#fcb900\]{--tw-bg-opacity:1;background-color:rgb(252 185 0/var(--tw-bg-opacity))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-9{padding-bottom:2.25rem;padding-top:2.25rem}.pb-16{padding-bottom:4rem}.pb-28{padding-bottom:7rem}.pb-8{padding-bottom:2rem}.pl-6{padding-left:1.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-40{padding-top:10rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.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-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[2\.7rem\]{font-size:2.7rem}.text-\[2rem\]{font-size:2rem}.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-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[\.18em\]{letter-spacing:.18em}.tracking-\[\.25em\]{letter-spacing:.25em}.tracking-\[\.2em\]{letter-spacing:.2em}.\!text-\[\#7d1645\]{--tw-text-opacity:1!important;color:rgb(125 22 69/var(--tw-text-opacity))!important}.\!text-\[\#c98f00\]{--tw-text-opacity:1!important;color:rgb(201 143 0/var(--tw-text-opacity))!important}.\!text-inherit{color:inherit!important}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.text-\[\#6b5a63\]{--tw-text-opacity:1;color:rgb(107 90 99/var(--tw-text-opacity))}.text-\[\#7d1645\]{--tw-text-opacity:1;color:rgb(125 22 69/var(--tw-text-opacity))}.text-\[\#8b94a8\]{--tw-text-opacity:1;color:rgb(139 148 168/var(--tw-text-opacity))}.text-\[\#cf2e2e\]{--tw-text-opacity:1;color:rgb(207 46 46/var(--tw-text-opacity))}.text-\[\#fcb900\]{--tw-text-opacity:1;color:rgb(252 185 0/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/75{color:hsla(0,0%,100%,.75)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/85{color:hsla(0,0%,100%,.85)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-white\/95{color:hsla(0,0%,100%,.95)}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0_30px_70px_-40px_rgba\(45\2c 27\2c 46\2c \.5\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_70px_-40px_rgba\(45\2c 27\2c 46\2c \.5\)\]{--tw-shadow:0 30px 70px -40px rgba(45,27,46,.5);--tw-shadow-colored:0 30px 70px -40px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.transition{transition-duration:.15s;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)}.hover\:border-\[\#7d1645\]:hover{--tw-border-opacity:1;border-color:rgb(125 22 69/var(--tw-border-opacity))}.hover\:bg-\[\#7d1645\]:hover{--tw-bg-opacity:1;background-color:rgb(125 22 69/var(--tw-bg-opacity))}.hover\:bg-\[\#fcb900\]:hover{--tw-bg-opacity:1;background-color:rgb(252 185 0/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:\!text-\[\#2d1b2e\]:hover{--tw-text-opacity:1!important;color:rgb(45 27 46/var(--tw-text-opacity))!important}.hover\:\!text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.hover\:text-\[\#2d1b2e\]:hover{--tw-text-opacity:1;color:rgb(45 27 46/var(--tw-text-opacity))}.hover\:text-\[\#7d1645\]:hover{--tw-text-opacity:1;color:rgb(125 22 69/var(--tw-text-opacity))}.hover\:text-\[\#fcb900\]:hover{--tw-text-opacity:1;color:rgb(252 185 0/var(--tw-text-opacity))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;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:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:-mt-6{margin-top:-1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:mt-\[46px\]{margin-top:46px}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:h-20{height:5rem}.sm\:h-52{height:13rem}.sm\:h-56{height:14rem}.sm\:h-72{height:18rem}.sm\:h-96{height:24rem}.sm\:h-\[260px\]{height:260px}.sm\:w-20{width:5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.sm\:p-10{padding:2.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-9{padding:2.25rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-11{padding-bottom:2.75rem;padding-top:2.75rem}.sm\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.sm\:py-20{padding-bottom:5rem;padding-top:5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-\[11px\]{font-size:11px}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:text-inherit{color:inherit}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:row-span-2{grid-row:span 2/span 2}.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-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:gap-10{gap:2.5rem}.md\:py-28{padding-bottom:7rem;padding-top:7rem}}@media (min-width:1024px){.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\:mx-0{margin-left:0;margin-right:0}.lg\:-mt-8{margin-top:-2rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-10{height:2.5rem}.lg\:h-11{height:2.75rem}.lg\:h-20{height:5rem}.lg\:h-24{height:6rem}.lg\:min-h-\[92vh\]{min-height:92vh}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-\[1\.4fr_1fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr 1fr}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:grid-cols-\[380px_1fr\]{grid-template-columns:380px 1fr}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-end{align-items:flex-end}.lg\:gap-10{gap:2.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-2{padding-bottom:.5rem;padding-top:.5rem}.lg\:py-28{padding-bottom:7rem;padding-top:7rem}.lg\:py-4{padding-bottom:1rem;padding-top:1rem}.lg\:pb-36{padding-bottom:9rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pt-40{padding-top:10rem}.lg\:text-\[5\.2rem\]{font-size:5.2rem}}

/* ---- Custom Inlined Theme Styles ---- */


:root{
  --maroon:#7d1645;
  --maroon-deep:#5d0f33;
  --plum:#2d1b2e;
  --gold:#fcb900;
  --ink:#1a1a1a;
  --body:#4a5568;
  --muted:#8b94a8;
  --bg-2:#f5f7f9;
  --bg-3:#eff2f5;
  --border:#abb8c3b3;
}
html{scroll-behavior:smooth}
body{font-family:"Manrope",system-ui,sans-serif;color:var(--body);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.font-display{font-family:"DM Sans",Georgia,serif;color:var(--ink);letter-spacing:-0.02em}

.eyebrow{font-family:"Manrope",sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:800;color:var(--maroon)}
.eyebrow-gold{color:var(--gold)}

.btn{display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;font-weight:700;font-size:.95rem;padding:.85rem 1.6rem;transition:.25s ease;line-height:1}
.btn-primary{background:var(--maroon);color:#fff}
.btn-primary:hover{background:var(--maroon-deep);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#7d1645}
.btn-gold:hover{background:#e5a800;transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--border);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--maroon);color:var(--maroon)}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-outline-light:hover{background:#fff;color:var(--maroon)}

.card{background:#fff;border:1px solid var(--border);border-radius:1.25rem;transition:.28s ease}
.card:hover{box-shadow:0 18px 45px -22px rgba(45,27,46,.35);transform:translateY(-4px);border-color:rgba(125,22,69,.3)}
.icon-circle{width:3rem;height:3rem;border-radius:999px;display:grid;place-items:center;background:rgba(252,185,0,.16);color:var(--maroon);flex:none}

.stat-num{font-family:"DM Sans",serif;font-weight:800;line-height:.9;letter-spacing:-.04em}
.rule{width:3.5rem;height:4px;border-radius:999px;background:var(--gold)}

.nav-link{font-weight:600;font-size:.93rem;color:#2d1b2e;padding:.4rem 0;position:relative}
.nav-link::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:.25s}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link.active{color:var(--maroon)}

/* ---- Dropdown navigation ---- */
.has-sub{position:relative}
.has-sub>a{display:inline-flex;align-items:center;gap:.3rem}
.has-sub>a:after{content:"";width:.36rem;height:.36rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.75}
.sub{position:absolute;left:50%;translate:-50% 0;top:100%;margin-top:.75rem;min-width:13.5rem;background:#fff;border:1px solid var(--border);border-radius:1rem;box-shadow:0 26px 60px -26px rgba(45,27,46,.5);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s ease;z-index:80}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.has-sub:before{content:"";position:absolute;left:0;right:0;top:100%;height:1rem}
.sub a{display:block;padding:.5rem .8rem;border-radius:.65rem;font-size:.85rem;font-weight:600;white-space:nowrap;color:var(--ink)!important}
.sub a:hover{background:var(--bg-2);color:var(--maroon)!important}

/* mobile menu groups */
.m-nav-group>p{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);margin-bottom:.35rem}
.m-nav-group a{display:block;padding:.22rem 0;font-weight:600;font-size:.92rem;color:var(--ink)}
.m-nav-group a:hover{color:var(--maroon)}

.field{width:100%;border:1.5px solid var(--border);border-radius:.9rem;padding:.8rem 1rem;font-size:.95rem;background:#fff;color:var(--ink);transition:.2s}
.field:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(252,185,0,.22)}
label.lbl{display:block;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);margin-bottom:.4rem}

/* Content is always visible; JS only adds a soft lift as sections scroll in. */
.reveal{opacity:1;transform:translateY(14px);transition:transform .6s ease}
.reveal.in{transform:none}
@media (prefers-reduced-motion:reduce){.reveal{transform:none;transition:none}}

.hero-veil{background:linear-gradient(100deg,rgba(125,22,69,.94) 0%,rgba(125,22,69,.84) 45%,rgba(125,22,69,.38) 100%)}

/* ---- Hero crossfade slideshow ----
   Slide 1 is a permanent base layer; slides 2-6 stack above it and cross-fade,
   so there is never a frame where no image is painted. */
.hero-slides{overflow:hidden;background:#5d0f33;z-index:0;isolation:isolate}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:opacity}
.hero-slide:nth-child(1){opacity:1;z-index:0}
.hero-slide:nth-child(n+2){opacity:0;animation:heroFade 36s linear infinite;backface-visibility:hidden}
.hero-slide:nth-child(2){z-index:1;animation-delay:0s}
.hero-slide:nth-child(3){z-index:2;animation-delay:6s}
.hero-slide:nth-child(4){z-index:3;animation-delay:12s}
.hero-slide:nth-child(5){z-index:4;animation-delay:18s}
.hero-slide:nth-child(6){z-index:5;animation-delay:24s}
@keyframes heroFade{
  0%{opacity:0}
  12.5%{opacity:0}
  16.67%{opacity:1}
  29.17%{opacity:1}
  33.33%{opacity:0}
  100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .hero-slide:nth-child(n+2){animation:none;opacity:0}
}

/* ---- Everything on a maroon / plum / amber panel reads white ---- */
.on-dark,.on-dark *,.on-amber,.on-amber *,.hero-veil ~ *,
.hero-dark,.hero-dark *{color:#fff}
.on-dark .eyebrow,.on-dark .index-num,.on-dark .eyebrow-gold,
.hero-dark .eyebrow,.hero-dark .eyebrow-gold{color:var(--gold)!important}
.on-amber .index-num,.on-amber .eyebrow{color:#fff!important}
.on-dark .soft,.hero-dark .soft{color:rgba(255,255,255,.82)}
.on-dark .rule,.hero-dark .rule{background:var(--gold)}

/* keep light surfaces + buttons legible inside those panels */
.on-dark .card,.on-dark .card *,.on-amber .card,.on-amber .card *,
.hero-dark .card,.hero-dark .card *{color:var(--body)}
.on-dark .card h1,.on-dark .card h2,.on-dark .card h3,.on-dark .card h4,
.on-amber .card h1,.on-amber .card h2,.on-amber .card h3,.on-amber .card h4{color:var(--ink)}
.on-dark .btn-gold,.on-amber .btn-gold,.hero-dark .btn-gold,
.on-dark .btn-gold *,.on-amber .btn-gold *,.hero-dark .btn-gold *{color:var(--maroon)}
.on-dark .btn-ghost,.on-amber .btn-ghost,.hero-dark .btn-ghost,
.on-dark .btn-ghost *,.on-amber .btn-ghost *{color:var(--ink)}
.on-dark .field,.on-amber .field,.hero-dark .field,
.on-dark label.lbl,.on-amber label.lbl{color:var(--ink)}
.on-amber label.lbl,.on-dark label.lbl{color:var(--maroon)}

/* ---- Editorial layout components (redesigned home) ---- */
.display-xl{font-family:"DM Sans",serif;font-weight:900;letter-spacing:-.045em;line-height:.94}
.index-num{font-family:"DM Sans",serif;font-weight:900;font-size:.95rem;letter-spacing:.1em;color:#c98f00}
.on-dark .index-num{color:var(--gold)}
.hairline{height:1px;background:var(--border)}

.tile{position:relative;overflow:hidden;border-radius:1.75rem}
.tile img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tile:hover img{transform:scale(1.06)}
.tile-cap{position:absolute;inset:auto 0 0 0;padding:1.25rem 1.35rem;background:linear-gradient(transparent,rgba(45,27,46,.85))}

/* Section 03 Campus Bento Refinements */
.campus-bento .tile {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.4s ease;
}
@media (min-width: 640px) {
  .campus-bento .tile {
    border-radius: 1.75rem;
  }
}
.campus-bento .tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -8px rgba(45, 27, 46, 0.22);
}
.campus-bento .tile img {
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
}
.campus-bento .tile:hover img {
  transform: scale(1.05);
}
.campus-bento .tile-cap {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.15rem 1.25rem;
  background: linear-gradient(180deg, transparent 0%, rgba(30, 10, 20, 0.4) 40%, rgba(30, 10, 20, 0.88) 100%);
  pointer-events: none;
}
@media (max-width: 639px) {
  .campus-bento .tile-cap {
    padding: 0.85rem 0.95rem;
  }
}
.campus-bento .tile-cap h3 {
  color: #ffffff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
  letter-spacing: -0.01em;
  margin: 0;
}

/* Journey stage tiles / cards (Section 02) */
.journey-card {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(62, 16, 38, 0.95) 0%, rgba(42, 9, 25, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s, border-color 0.35s;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.journey-card:hover,
.journey-card:focus {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.42);
  border-color: rgba(252, 185, 0, 0.5);
  text-decoration: none;
  color: inherit;
}
.journey-card-media {
  position: relative;
  width: 100%;
  height: 260px;
  overflow: hidden;
  background: #1f0513;
}
.journey-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.journey-card:hover .journey-card-media img {
  transform: scale(1.05);
}
.journey-card-media .img-kg,
.journey-card-media .img-junior {
  object-position: center 25% !important;
}
.journey-card-media .img-middle {
  object-position: center 62% !important;
}
.journey-card-media .img-senior {
  object-position: center 30% !important;
}
.journey-card-content {
  padding: 1.6rem 1.65rem 1.85rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}
.journey-card-content .eyebrow {
  color: var(--gold);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
}
.journey-card-content h3 {
  color: #fff;
  font-family: 'DM Sans', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 700;
  margin: 0.4rem 0 0 0;
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.journey-card-content p.soft {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.925rem;
  line-height: 1.65;
  margin: 0.75rem 0 0 0;
}

.row-item{border-top:1px solid var(--border);padding:1.75rem 0;display:grid;gap:.75rem;transition:.3s}
.row-item:hover{padding-left:.6rem}
.row-item:last-child{border-bottom:1px solid var(--border)}

.chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.35rem .85rem;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.chip-dark{border-color:var(--border);color:var(--maroon)}

.marquee{overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;gap:3rem;animation:slide 32s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

.hscroll{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;-webkit-overflow-scrolling:touch}
.hscroll>*{scroll-snap-align:start;flex:0 0 85%;}
@media (min-width:640px){.hscroll>*{flex:0 0 58%}}
@media (min-width:768px){.hscroll>*{flex:0 0 46%}}
@media (min-width:1024px){.hscroll>*{flex:1 1 0;min-width:0;scroll-snap-align:none}}
.hscroll::-webkit-scrollbar{height:6px}
.hscroll::-webkit-scrollbar-thumb{background:var(--gold);border-radius:99px}

.rail{position:sticky;top:7rem}
.grain:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:14px 14px;pointer-events:none}
.gold-underline{background:linear-gradient(transparent 62%,rgba(252,185,0,.55) 62%)}

/* ---- Mobile refinements ---- */
@media (max-width:1023px){
  .rail{position:static;top:auto}
}
@media (max-width:640px){
  .btn{font-size:.82rem;padding:.7rem 1.05rem;gap:.35rem}
  .btn-row{display:flex;flex-wrap:nowrap;gap:.5rem}
  .btn-row .btn{flex:1 1 0;justify-content:center;text-align:center;white-space:nowrap}
  .hscroll>*{flex:0 0 84%}

  /* two cards per row on mobile */
  .m-grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;overflow:visible!important;scroll-snap-type:none}
  .m-grid-2>*{flex:none!important;min-width:0}
  .m-span-2{grid-column:1 / -1}

  /* section 01 rows become compact cards */
  .m-grid-2 .row-item{border:1px solid var(--border);border-radius:1.1rem;padding:1rem .9rem;gap:.5rem}
  .m-grid-2 .row-item:last-child{border-bottom:1px solid var(--border)}
  .m-grid-2 .row-item:hover{padding-left:.9rem}
  .m-grid-2 .row-item>div{flex-direction:column;align-items:flex-start;gap:.25rem}
  .m-grid-2 .row-item h3{font-size:1.02rem;line-height:1.25}
  .m-grid-2 .row-item p{font-size:.82rem;line-height:1.45}

  /* section 02 journey tiles */
  .m-grid-2 .tile{border-radius:1.1rem}
  .m-grid-2 .tile img{height:150px!important}
  .m-grid-2 .tile-cap{position:static;background:rgba(45,27,46,.92);padding:.85rem .9rem}
  .m-grid-2 .tile-cap h3{font-size:1.05rem}
  .m-grid-2 .tile-cap .eyebrow{font-size:.6rem;letter-spacing:.14em}
  .m-grid-2 .tile-cap p{font-size:.78rem;line-height:1.45}

  /* journey cards mobile adjustments */
  .journey-card{border-radius:1.25rem}
  .journey-card-media{height:185px}
  .journey-card-content{padding:1.15rem 1.15rem 1.35rem}
  .journey-card-content h3{font-size:1.28rem}
  .journey-card-content p.soft{font-size:.85rem;line-height:1.52}

  /* hero copy: centred and tidy on mobile */
  .hero-copy{text-align:center;padding-bottom:6rem}
  .hero-copy h1{font-size:2.3rem;line-height:1.06;margin-left:auto;margin-right:auto;max-width:20ch}
  .hero-copy p{margin-left:auto;margin-right:auto;font-size:1rem;line-height:1.55;max-width:34ch}
  .hero-copy .chip{margin-inline:auto}
  .hero-copy .btn-row{justify-content:center}

  /* hero stat strip alignment */
  .stat-grid>div{min-height:7.25rem;justify-content:center;align-items:flex-start;padding:1.1rem 1rem}
  .stat-grid .eyebrow{font-size:.6rem;letter-spacing:.13em;line-height:1.35}

  /* full-width tile inside the mobile 2-up grid */
  .m-grid-2 .m-span-2.tile img{height:200px!important}

  /* inner pages: card grids go 2-up on mobile, odd last card spans full width */
  .cards-2up{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.85rem!important}
  .cards-2up>*{min-width:0}
  .cards-2up>*{padding:1rem .9rem}
  .cards-2up>.overflow-hidden{padding:0}
  .cards-2up h3{font-size:1rem!important;line-height:1.28}
  .cards-2up p,.cards-2up li{font-size:.8rem!important;line-height:1.5}
  .cards-2up .eyebrow{font-size:.58rem;letter-spacing:.14em;line-height:1.3}
  .cards-2up>*:nth-child(odd):last-child,.cards-2up>.m-span-2{grid-column:1 / -1}

  /* stat bands: same 2-per-row rhythm, odd last stat spans full width */
  .stats-2up{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.25rem!important}
  .stats-2up>*{min-width:0}
  .stats-2up>*:nth-child(odd):last-child{grid-column:1 / -1}
  .stats-2up .stat-num{font-size:2.5rem!important}
}

/* Why Amber accordion */
.acc{border-top:1px solid #abb8c34d}
.acc-item{border-bottom:1px solid #abb8c34d}
.acc-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.15rem 0}
.acc-item>summary::-webkit-details-marker{display:none}
.acc-item>summary h3{flex:1}
.acc-item .acc-ico{width:2rem;height:2rem;flex:none;display:grid;place-items:center;border-radius:999px;border:1px solid #abb8c34d;color:#7d1645;font-weight:800;transition:.2s}
.acc-item[open] .acc-ico{transform:rotate(45deg);background:#7d1645;color:#fff;border-color:#7d1645}
.acc-item>p{padding:0 0 1.35rem 3.4rem;max-width:60ch}
@media (max-width:640px){.acc-item>p{padding-left:0}}

/* Accreditations cards */
.acr{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:1.25rem;padding:1.5rem;transition:.25s}
.acr:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.acr .acr-num{display:inline-block;font-weight:900;letter-spacing:.18em;font-size:.7rem;color:#fcb900}
.acr h3{margin-top:.75rem;font-weight:800;font-size:1.15rem;line-height:1.25}
.acr p{margin-top:.6rem;font-size:.875rem;opacity:.82}

/* Gallery category chips */
.gal-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #abb8c34d;background:#fff;padding:.5rem 1rem;font-size:.8rem;font-weight:700;color:#7d1645;transition:.2s}
.gal-chip:hover{background:#7d1645;color:#fff;border-color:#7d1645}

/* Extra-small breakpoint helper for the utility bar */
.hidden.xs\:inline{display:none}
@media (min-width:420px){.hidden.xs\:inline{display:inline}}


/* Mobile card rhythm: two per row, a lone last card spans full width */
@media (max-width:640px){
  .stat-grid{gap:0}
  .stat-grid>div{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:6.5rem}
  .stat-grid>div:nth-child(odd){border-right:1px solid var(--border)}
  .stat-grid>div:nth-child(even){border-right:0}
  .stat-grid>div:nth-child(-n+2){border-top:0}
  .stat-grid>div:nth-child(odd):last-child{grid-column:1 / -1;border-right:0}
  .track-grid>div{padding:.9rem 1rem}
  .track-grid>div{display:flex;flex-direction:column;justify-content:center}
  .track-grid>div p:first-child{font-size:1.15rem!important;line-height:1.2}
  .track-grid>div p:last-child{font-size:.58rem!important;letter-spacing:.11em!important;line-height:1.35;margin-top:.4rem}
  .track-grid>div:nth-child(odd):last-child{grid-column:1 / -1}
  .acr{padding:1rem .9rem}
  .acr h3{font-size:.98rem;margin-top:.5rem}
  .acr p{font-size:.78rem;line-height:1.45}
  .gal-chip{font-size:.72rem;padding:.4rem .8rem}
}

/* 06 — Our Team cards */
.team-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.team-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(45,27,46,.14)}
.team-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;background:#efe7e2;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.team-card:hover .team-photo{transform:scale(1.04)}
.team-meta{padding:1rem 1rem 1.25rem;flex:1 1 auto}
@media (min-width:640px){.team-meta{padding:1.15rem 1.25rem 1.4rem}}
@media (max-width:480px){.team-meta .eyebrow{font-size:.58rem;letter-spacing:.12em;line-height:1.5}}

/* Sports page cards + homepage sports preview strip */
.sport-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:1.5rem;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.sport-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(45,27,46,.14)}
.sport-photo{width:100%;object-fit:cover;background:#efe7e2;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sport-card:hover .sport-photo{transform:scale(1.04)}
.sport-meta{padding:.9rem 1rem 1.15rem;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sport-meta > *{text-align:center;width:100%}
@media (min-width:640px){.sport-meta{padding:1.1rem 1.25rem 1.35rem}}
.sport-peek{position:relative;display:block;border-radius:1.25rem;overflow:hidden;border:1.5px solid var(--border);aspect-ratio:1/1;box-shadow:0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -1px rgba(0,0,0,0.04);transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1)}
.sport-peek img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1)}
.sport-peek:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 12px 20px -8px rgba(125, 22, 69, 0.35), 0 4px 6px -2px rgba(125, 22, 69, 0.15)}
.sport-peek:hover img{transform:scale(1.08)}
.sport-peek-more{display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;background:linear-gradient(135deg, #7d1645 0%, #5d0f33 100%) !important;color:#fff !important;font-weight:800;line-height:1.2;font-size:.8rem;letter-spacing:.02em;padding:.5rem;border:1.5px solid rgba(252, 185, 0, 0.2) !important}
.sport-peek-more span{display:block;font-size:1.75rem;font-family:var(--font-display,inherit);color:var(--gold);font-weight:900;margin-bottom:0.15rem;transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)}
.sport-peek-more:hover span{transform:scale(1.15)}

/* Sports page category jump bar */
.sport-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.gal-chip-dark{border:1.5px solid var(--border) !important;color:#7d1645 !important;background:#fff !important;font-weight:700 !important;padding:0.55rem 1.35rem !important;font-size:0.85rem !important;border-radius:9999px !important;box-shadow:0 2px 4px rgba(0,0,0,0.04) !important;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important}
.gal-chip-dark:hover{background-color:#f7f2ef !important;color:#7d1645 !important;border-color:#7d1645 !important;transform:translateY(-2px) !important;box-shadow:0 4px 6px rgba(125, 22, 69, 0.1) !important}
.gal-chip-dark.active-tab{background-color:#7d1645 !important;color:#fcb900 !important;border-color:#7d1645 !important;box-shadow:0 4px 10px rgba(125, 22, 69, 0.25) !important;transform:translateY(-1px) !important}
@media (max-width:520px){.sport-cats{gap:.4rem;margin-bottom:1.5rem}.sport-cats .gal-chip{font-size:.68rem;padding:.4rem .7rem}}

/* Custom active dropdown styling */
.sub a.active, .sub a.active:hover {
  background: var(--bg-2) !important;
  color: var(--maroon) !important;
}


/* Back-to-Top Button Custom Styling */
#back-to-top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 9999 !important;
  background-color: #fcb900 !important;
  color: #7d1645 !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 12px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
}

#back-to-top:hover {
  background-color: #7d1645 !important;
  color: #fcb900 !important;
  border: 1.5px solid #fcb900 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 16px rgba(125, 22, 69, 0.3) !important;
}

#back-to-top.hidden {
  display: none !important;
}


/* Elegant Button Style */
.btn-elegant {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0.85rem 2.2rem;
  line-height: 1;
  background-color: #7d1645 !important;
  color: #fff !important;
  border: 1.5px solid rgba(252, 185, 0, 0.3) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer;
  text-decoration: none;
}
.btn-elegant:hover {
  background-color: #5d0f33 !important;
  color: #fcb900 !important;
  border-color: #fcb900 !important;
  box-shadow: 0 10px 15px -3px rgba(125, 22, 69, 0.3), 0 4px 6px -2px rgba(125, 22, 69, 0.15) !important;
  transform: translateY(-2px) !important;
}


/* Gallery Item Styling */
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 1.5px solid var(--border);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.gallery-item:hover {
  transform: translateY(-6px) !important;
  border-color: #7d1645 !important;
  box-shadow: 0 12px 20px -8px rgba(125, 22, 69, 0.35), 0 4px 6px -2px rgba(125, 22, 69, 0.15) !important;
}
.gallery-item:hover img {
  transform: scale(1.08) !important;
}


/* Pulse Fade Animation for Admission Button */
.btn-pulse {
  animation: pulseFade 2.2s infinite ease-in-out !important;
  display: inline-block !important;
}

@keyframes pulseFade {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.75;
    transform: scale(1.04);
  }
}


/* Hero Campus Visit Button */
.btn-hero-visit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  color: #7d1645 !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0.85rem 2.2rem !important;
  line-height: 1 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.btn-hero-visit:hover {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}


/* Append Chevron Arrow to Buttons */
.btn::after,
.btn-elegant::after,
.btn-hero-visit::after {
  content: ' \203A' !important;
  margin-left: 0.55rem;
  font-size: 1.2em;
  font-weight: 800;
  line-height: 1;
  display: inline-block;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn:hover::after,
.btn-elegant:hover::after,
.btn-hero-visit:hover::after {
  transform: translateX(5px) !important;
}

#call-us-btn[aria-expanded="true"]::after {
  transform: rotate(90deg) !important;
}

#call-numbers {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  top: calc(100% + 10px) !important;
  width: 330px !important;
  max-width: calc(100vw - 32px) !important;
  background: linear-gradient(145deg, #7d1645 0%, #4a0b27 100%) !important;
  border: 1.5px solid rgba(252, 185, 0, 0.45) !important;
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(252, 185, 0, 0.25) !important;
  border-radius: 1.25rem !important;
  padding: 1.1rem !important;
  box-sizing: border-box !important;
  z-index: 100 !important;
}

#call-numbers::before {
  content: '';
  position: absolute;
  top: -7px;
  right: 58px;
  width: 13px;
  height: 13px;
  background: #7d1645;
  border-top: 1.5px solid rgba(252, 185, 0, 0.45);
  border-left: 1.5px solid rgba(252, 185, 0, 0.45);
  transform: rotate(45deg);
  z-index: 12;
}

.call-opt-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  padding: 0.75rem 0.9rem !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0.85rem !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  margin-bottom: 0.65rem !important;
  box-sizing: border-box !important;
}

.call-opt-card:last-of-type {
  margin-bottom: 0 !important;
}

.call-opt-card:hover {
  background: rgba(252, 185, 0, 0.18) !important;
  border-color: #fcb900 !important;
  transform: translateY(-2px) !important;
}

.call-opt-card::after {
  display: none !important;
  content: none !important;
}

.call-opt-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(252, 185, 0, 0.18) !important;
  color: #fcb900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.call-opt-num {
  color: #ffffff !important;
  font-size: 0.96rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.call-opt-label {
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}

.call-opt-badge {
  background: #fcb900 !important;
  color: #7d1645 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 9999px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  transition: transform 0.2s ease !important;
}

.call-opt-card:hover .call-opt-badge {
  transform: scale(1.05) !important;
  background: #ffc720 !important;
}

/* Sidebar Sideways Mobile Menu Drawer */
#mobile-menu-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(4px) !important;
  z-index: 1000 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease !important;
}

#mobile-menu-backdrop.active {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#mobile-menu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 300px !important;
  max-width: 85vw !important;
  background-color: #ffffff !important;
  z-index: 1001 !important;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15) !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: none !important;   /* hidden by default — shown via JS .active class */
  flex-direction: column !important;
  height: 100vh !important;
}

#mobile-menu.active {
  display: flex !important;
  transform: translateX(0) !important;
}

/* Mobile Drawer Link Styling */
.mobile-drawer-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #7d1645 !important;
  font-weight: 600 !important;
  font-size: 0.825rem !important;
  padding: 0.45rem 0.75rem !important;
  border-radius: 0.5rem !important;
  transition: all 0.2s ease-in-out !important;
}

.mobile-drawer-link:hover, .mobile-drawer-link:active {
  background-color: rgba(125, 22, 69, 0.05) !important;
  color: #7d1645 !important;
  padding-left: 0.95rem !important;
}

.mobile-drawer-link::after {
  content: '\203A' !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  opacity: 0.3 !important;
  transition: opacity 0.2s ease !important;
}

.mobile-drawer-link:hover::after {
  opacity: 1 !important;
}



/* ---- Mobile menu breakpoint: show hamburger below 860px, desktop nav above 860px ---- */

/* Below 860px: show hamburger button, hide desktop nav */
@media (max-width: 859px) {
  header nav,
  header nav.hidden,
  header nav.lg\:flex { display: none !important; }
  header [data-nav-toggle] { display: grid !important; }
  header span[aria-hidden="true"].w-10.flex-none { display: inline !important; }
}

/* At or above 860px: show desktop nav, hide hamburger + mobile drawer entirely */
@media (min-width: 860px) {
  header nav,
  header nav.hidden,
  header nav.lg\:flex { display: flex !important; }
  header [data-nav-toggle] { display: none !important; }
  header span[aria-hidden="true"].w-10.flex-none { display: none !important; }
  #mobile-menu { display: none !important; }
  #mobile-menu-backdrop { display: none !important; }
}

@media (max-width:880px)
{
  header img.h-10 
  {
    height: 4rem;
  }

  #mobile-menu img.w-auto
  {
        width: 60%;
  }
}

/* ==========================================================
   UI Polish Overrides (Sports Cards, Icons & Accreditations)
   ========================================================== */

/* 1. Sports Category Cards (Attached 1 fix: uniform image heights & alignment) */
.sport-cat {
  display: flex !important;
  flex-direction: column !important;
  height: 230px !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  position: relative !important;
  background: #2d1b2e !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.sport-cat:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(45, 27, 46, 0.25) !important;
}

.sport-cat img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}

.sport-cat:hover img {
  transform: scale(1.06) !important;
}

.sport-cat .tile-cap {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  padding: 1.1rem 1.15rem !important;
  background: linear-gradient(180deg, transparent 0%, rgba(45, 27, 46, 0.65) 40%, rgba(45, 27, 46, 0.95) 100%) !important;
  border-bottom-left-radius: 1.25rem !important;
  border-bottom-right-radius: 1.25rem !important;
}

.sport-cat .tile-cap span.font-display {
  color: #ffffff !important;
  font-weight: 700 !important;
  display: block !important;
}

.sport-cat .eyebrow {
  color: #fcb900 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.16em !important;
  margin-top: 0.2rem !important;
  display: block !important;
}

@media (max-width: 640px) {
  .sport-cat {
    height: 175px !important;
  }
}

/* 2. Sports Feature Cards & Icons (Attached 2 vs Attached 3 fix) */
.sport-feature {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
  border-radius: 1.25rem !important;
  padding: 1.5rem !important;
  background: #ffffff !important;
  border: 1px solid rgba(171, 184, 195, 0.4) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.sport-feature:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px -12px rgba(45, 27, 46, 0.18) !important;
  border-color: rgba(125, 22, 69, 0.3) !important;
}

.sport-ico {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  max-width: 2.75rem !important;
  max-height: 2.75rem !important;
  border-radius: 0.85rem !important;
  background: rgba(125, 22, 69, 0.08) !important;
  color: #7d1645 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1rem !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
  transition: background 0.3s ease, color 0.3s ease !important;
}

.sport-ico svg {
  width: 1.35rem !important;
  height: 1.35rem !important;
  max-width: 1.35rem !important;
  max-height: 1.35rem !important;
  min-width: 1.35rem !important;
  min-height: 1.35rem !important;
  display: block !important;
  stroke: #7d1645 !important;
  stroke-width: 1.8 !important;
  transition: stroke 0.3s ease !important;
}

.sport-feature:hover .sport-ico,
.sport-ico:hover {
  background: #7d1645 !important;
  color: #ffffff !important;
}

.sport-feature:hover .sport-ico svg,
.sport-ico:hover svg {
  stroke: #ffffff !important;
}

/* 3. Accreditations Cards & Logo Boxes (Refined & Optically Balanced) */
.acr,
.acr-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.05) 45%, rgba(20, 4, 12, 0.3) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-top: 2.5px solid rgba(252, 185, 0, 0.5) !important;
  border-radius: 1.5rem !important;
  padding: 1.5rem 1.25rem 1.35rem !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 12px 35px -6px rgba(0, 0, 0, 0.28) !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease !important;
}

@media (min-width: 640px) {
  .acr,
  .acr-card {
    padding: 1.75rem 1.45rem 1.5rem !important;
  }
}

.acr:hover,
.acr-card:hover {
  transform: translateY(-8px) !important;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 50%, rgba(20, 4, 12, 0.4) 100%) !important;
  border-color: rgba(252, 185, 0, 0.65) !important;
  border-top-color: #fcb900 !important;
  box-shadow: 0 24px 50px -10px rgba(0, 0, 0, 0.45), 0 0 25px rgba(252, 185, 0, 0.18) !important;
}

.acr-top-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 0.95rem !important;
}

.acr-num-badge {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.14em !important;
  color: #fcb900 !important;
  background: rgba(252, 185, 0, 0.12) !important;
  border: 1px solid rgba(252, 185, 0, 0.35) !important;
  padding: 0.18rem 0.65rem !important;
  border-radius: 9999px !important;
  line-height: 1 !important;
}

.acr-tag {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

@media (max-width: 639px) {
  .acr-tag {
    display: none !important;
  }
  .acr-top-row {
    margin-bottom: 0.65rem !important;
  }
}

.acr .acr-num,
.acr-card-num {
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.16em !important;
  color: #fcb900 !important;
  margin-bottom: 0.95rem !important;
  display: block !important;
}

.acr .acr-logo,
.acr-card-logo-wrap {
  position: relative !important;
  order: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 98px !important;
  min-height: 98px !important;
  background: #ffffff !important;
  border-radius: 1.15rem !important;
  padding: 0.85rem 1.25rem !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14), inset 0 0 0 1px rgba(255, 255, 255, 0.8) !important;
  margin-bottom: 1.25rem !important;
  overflow: hidden !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

@media (min-width: 640px) {
  .acr .acr-logo,
  .acr-card-logo-wrap {
    height: 106px !important;
    min-height: 106px !important;
    padding: 0.85rem 1.25rem !important;
    margin-bottom: 1.35rem !important;
  }
}

.acr:hover .acr-logo,
.acr-card:hover .acr-card-logo-wrap {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 0 0 1px rgba(252, 185, 0, 0.35) !important;
}

.acr .acr-logo > img,
.acr-card-logo-wrap img {
  display: block !important;
  object-fit: contain !important;
  margin: auto !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: high-quality;
  transition: transform 0.3s ease !important;
}

/* Individual logo sizing for optical balance */
.acr-img-harvard {
  height: 48px !important;
  max-width: 90% !important;
  width: auto !important;
}

.acr-img-cisce {
  height: 72px !important;
  max-width: 90% !important;
  width: auto !important;
}

.acr-img-green {
  height: 70px !important;
  max-width: 85% !important;
  width: auto !important;
}

.acr-img-isro {
  height: 52px !important;
  max-width: 85% !important;
  width: auto !important;
}

@media (max-width: 639px) {
  .acr-img-harvard { height: 42px !important; }
  .acr-img-cisce { height: 60px !important; }
  .acr-img-green { height: 60px !important; }
  .acr-img-isro { height: 46px !important; }
}

.acr-card-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  height: 100% !important;
}

.acr h3,
.acr-card-title {
  color: #ffffff !important;
  font-family: 'DM Sans', Georgia, serif !important;
  font-size: 1.16rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 0.5rem 0 !important;
  min-height: 3.1rem !important;
  display: flex !important;
  align-items: flex-start !important;
}

@media (max-width: 639px) {
  .acr h3,
  .acr-card-title {
    font-size: 1.05rem !important;
    min-height: 2.7rem !important;
    line-height: 1.22 !important;
  }
}

@media (min-width: 640px) {
  .acr h3,
  .acr-card-title {
    font-size: 1.25rem !important;
    min-height: 3.4rem !important;
    margin-bottom: 0.6rem !important;
  }
}

.acr p,
.acr-card-desc {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (min-width: 640px) {
  .acr p,
  .acr-card-desc {
    font-size: 0.885rem !important;
    line-height: 1.58 !important;
  }
}

.acr p strong,
.acr-card-desc strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.acr-card-footer {
  margin-top: auto !important;
  padding-top: 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.acr-footer-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  color: #fcb900 !important;
  background: rgba(252, 185, 0, 0.12) !important;
  border: 1px solid rgba(252, 185, 0, 0.28) !important;
  padding: 0.22rem 0.75rem !important;
  border-radius: 9999px !important;
  transition: all 0.25s ease !important;
}

.acr:hover .acr-footer-pill {
  background: #fcb900 !important;
  color: #7d1645 !important;
  border-color: #fcb900 !important;
}

/* Premium Accreditations Action Button */
.acr-btn-premium {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  background: linear-gradient(135deg, #fcb900 0%, #e5a700 100%) !important;
  color: #580c2f !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: 0.98rem !important;
  letter-spacing: 0.03em !important;
  padding: 0.92rem 2.4rem !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 10px 28px -4px rgba(252, 185, 0, 0.45), 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.35s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.acr-btn-premium:hover {
  background: linear-gradient(135deg, #ffc524 0%, #fcb900 100%) !important;
  color: #400721 !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 18px 40px -4px rgba(252, 185, 0, 0.65), 0 6px 18px rgba(0, 0, 0, 0.25) !important;
}

.acr-btn-premium .btn-arrow-circle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.7rem !important;
  height: 1.7rem !important;
  border-radius: 9999px !important;
  background: rgba(88, 12, 47, 0.12) !important;
  color: #580c2f !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}

.acr-btn-premium:hover .btn-arrow-circle {
  background: rgba(88, 12, 47, 0.22) !important;
  transform: translateX(4px) !important;
}

/* Active Category Tab Highlight Override */
.sport-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.6rem !important;
  margin-bottom: 2rem !important;
  margin-top: 0.5rem !important;
}

.sport-cats a.gal-chip-dark,
.sport-cats a.gal-chip,
.gal-chip-dark,
.gal-chip {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 9999px !important;
  border: 1.5px solid rgba(171, 184, 195, 0.55) !important;
  background-color: #ffffff !important;
  padding: 0.45rem 1.15rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #7d1645 !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.sport-cats a.gal-chip-dark:hover,
.sport-cats a.gal-chip:hover,
.gal-chip-dark:hover,
.gal-chip:hover {
  border-color: #7d1645 !important;
  color: #7d1645 !important;
  background-color: rgba(125, 22, 69, 0.06) !important;
}

.sport-cats a.gal-chip-dark.active,
.sport-cats a.gal-chip.active,
.sport-cats a.active,
.gal-chip-dark.active,
.gal-chip.active {
  background-color: #7d1645 !important;
  color: #ffffff !important;
  border-color: #7d1645 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.3) !important;
}

/* ---- Video Popup Modal ---- */
#film {
  cursor: pointer;
}

#video-modal {
  position: fixed !important;
  inset: 0 !important;
  background-color: rgba(15, 7, 12, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 2000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  visibility: hidden;
}

#video-modal.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.video-modal-container {
  position: relative !important;
  width: 100% !important;
  max-width: 960px !important;
  background-color: #000000 !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
  transform: scale(0.95);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#video-modal.active .video-modal-container {
  transform: scale(1) !important;
}

.video-modal-wrapper {
  position: relative !important;
  width: 100% !important;
  padding-bottom: 56.25% !important; /* 16:9 ratio */
  height: 0 !important;
  background-color: #000000 !important;
}

.video-modal-iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.video-modal-close {
  position: absolute !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  border-radius: 9999px !important;
  background-color: rgba(0, 0, 0, 0.65) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  z-index: 20 !important;
}

.video-modal-close:hover {
  background-color: #fcb900 !important;
  color: #7d1645 !important;
  transform: scale(1.08) !important;
  border-color: #fcb900 !important;
}

/* ---- Senior School Presentation Images ---- */
.senior-school-img-assembly {
  height: 260px !important;
  width: 100% !important;
  object-fit: cover !important;
  object-position: center 20% !important;
}

.senior-school-img-award {
  width: 100% !important;
  aspect-ratio: 16/10 !important;
  max-height: 420px !important;
  object-fit: cover !important;
  object-position: center 15% !important;
}

@media (min-width: 1024px) {
  .senior-school-img-award {
    min-height: 380px !important;
  }
}

/* ---- Academic Year Selector (Used across Gallery and Sports) ---- */
.year-select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  background: #ffffff;
  border: 2px solid #7d1645;
  border-radius: 9999px;
  padding: 0.35rem 0.95rem;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.12);
  transition: all 0.25s ease;
}

.year-select-wrap:hover,
.year-select-wrap:focus-within {
  border-color: #fcb900;
  box-shadow: 0 6px 20px rgba(252, 185, 0, 0.25);
  transform: translateY(-1px);
}

.year-select-native {
  appearance: none;
  -webkit-appearance: none;
  background-color: #ffffff !important;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  color: #7d1645 !important;
  padding-right: 1.8rem;
  cursor: pointer;
}

.year-select-native option {
  background-color: #ffffff !important;
  color: #7d1645 !important;
  font-weight: 800 !important;
  font-size: 0.92rem !important;
  padding: 0.65rem 1rem !important;
}

.year-select-arrow {
  position: absolute;
  right: 0.85rem;
  pointer-events: none;
  color: #7d1645;
  font-size: 0.75rem;
  transition: transform 0.2s ease;
}

.sports-calendar-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Sports Hero Section & Breadcrumb Spacing */
.sports-hero-section {
  padding-top: 4.25rem !important;
  padding-bottom: 2.75rem !important;
}

.sports-breadcrumb {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  margin-bottom: 1.75rem !important;
}

@media (min-width: 640px) {
  .sports-hero-section {
    padding-top: 5rem !important;
    padding-bottom: 3.25rem !important;
  }
  .sports-breadcrumb {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
    margin-bottom: 2.25rem !important;
  }
}

/* ---- Sports Photo Lightbox Modal ---- */
.sport-card {
  cursor: pointer !important;
  position: relative !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important;
}

.sport-card:hover {
  transform: translateY(-4px) !important;
}

.sport-card .sport-photo {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sport-card:hover .sport-photo {
  transform: scale(1.035) !important;
}

#sports-lightbox {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(12, 4, 9, 0.94) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 2500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.5rem !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  visibility: hidden !important;
}

#sports-lightbox.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.sports-lb-box {
  position: relative !important;
  max-width: 1100px !important;
  width: 100% !important;
  max-height: 90vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  transform: scale(0.96) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#sports-lightbox.active .sports-lb-box {
  transform: scale(1) !important;
}

.sports-lb-img {
  max-height: 75vh !important;
  max-width: 100% !important;
  border-radius: 1rem !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
  object-fit: contain !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
}

.sports-lb-cap {
  margin-top: 1.15rem !important;
  color: #ffffff !important;
  text-align: center !important;
}

.sports-lb-cat {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #fcb900 !important;
  margin: 0 !important;
}

.sports-lb-title {
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  line-height: 1.25 !important;
  margin-top: 0.35rem !important;
  margin-bottom: 0 !important;
}

@media (min-width: 640px) {
  .sports-lb-title {
    font-size: 1.5rem !important;
  }
}

.sports-lb-desc {
  font-size: 0.88rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin-top: 0.35rem !important;
  margin-bottom: 0 !important;
  max-width: 38rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sports-lb-close-btn {
  position: fixed !important;
  top: 1.25rem !important;
  right: 1.25rem !important;
  z-index: 2600 !important;
  width: 3rem !important;
  height: 3rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  transition: all 0.3s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
  outline: none !important;
}

.sports-lb-close-btn:hover {
  background: #fcb900 !important;
  color: #7d1645 !important;
  border-color: #fcb900 !important;
  transform: scale(1.08) rotate(90deg) !important;
}

/* ---- Sports Page Premium Centered Bottom Navigation Buttons ---- */
.sports-bottom-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 1.25rem !important;
  margin-top: 3.5rem !important;
  padding-top: 2.25rem !important;
  border-top: 1px solid rgba(125, 22, 69, 0.12) !important;
  width: 100% !important;
}

.btn-sports-nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  padding: 0.85rem 2.2rem !important;
  border-radius: 9999px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

.btn-sports-secondary {
  background: #ffffff !important;
  color: #7d1645 !important;
  border: 2px solid #7d1645 !important;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.08) !important;
}

.btn-sports-secondary:hover {
  background: #7d1645 !important;
  color: #ffffff !important;
  border-color: #7d1645 !important;
  box-shadow: 0 8px 24px rgba(125, 22, 69, 0.25) !important;
  transform: translateY(-2px) !important;
}

.btn-sports-primary {
  background: linear-gradient(135deg, #7d1645 0%, #5d0f33 100%) !important;
  color: #ffffff !important;
  border: 2px solid #7d1645 !important;
  box-shadow: 0 6px 20px rgba(125, 22, 69, 0.28) !important;
}

.btn-sports-primary:hover {
  background: linear-gradient(135deg, #fcb900 0%, #e5a800 100%) !important;
  color: #7d1645 !important;
  border-color: #fcb900 !important;
  box-shadow: 0 10px 28px rgba(252, 185, 0, 0.4) !important;
  transform: translateY(-2px) !important;
}

.btn-sports-nav::after {
  content: '\203A' !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin-left: 0.55rem !important;
  display: inline-block !important;
  transition: transform 0.25s ease !important;
}

.btn-sports-nav:hover::after {
  transform: translateX(4px) !important;
}

/* ---- VGS Quiz Registration Notice Pill (Attached 2) ---- */
.quiz-reg-pill {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  border: 1.5px solid #fcb900 !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 1.15rem 2rem !important;
  color: #ffffff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 0 16px rgba(252, 185, 0, 0.12) !important;
  margin-top: 1.5rem !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.quiz-reg-pill.hidden {
  display: none !important;
}

@media (max-width: 640px) {
  .quiz-reg-pill {
    padding: 0.9rem 1.4rem !important;
    font-size: 0.92rem !important;
    border-radius: 1.25rem !important;
  }
}

/* ---- Prestige Quiz Host Cards (Ultra Rich & Luxury Style) ---- */
.quiz-hosts-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  margin-top: 1.75rem !important;
  width: 100% !important;
}

@media (min-width: 640px) {
  .quiz-hosts-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.quiz-host-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(125, 22, 69, 0.38) 45%, rgba(18, 5, 12, 0.35) 100%) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1.5px solid rgba(252, 185, 0, 0.5) !important;
  border-radius: 1.35rem !important;
  padding: 1.5rem 1.6rem !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px -4px rgba(0, 0, 0, 0.45), 
              inset 0 1px 0 rgba(255, 255, 255, 0.3), 
              inset 0 0 24px rgba(252, 185, 0, 0.1) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.quiz-host-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 130px !important;
  height: 130px !important;
  background: radial-gradient(circle at top right, rgba(252, 185, 0, 0.25) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.quiz-host-card:hover {
  transform: translateY(-4px) !important;
  border-color: #fcb900 !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2) 0%, rgba(125, 22, 69, 0.5) 45%, rgba(18, 5, 12, 0.45) 100%) !important;
  box-shadow: 0 20px 45px -4px rgba(0, 0, 0, 0.55), 
              0 0 28px rgba(252, 185, 0, 0.28),
              inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
}

.quiz-host-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  margin-bottom: 0.85rem !important;
}

.quiz-host-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: linear-gradient(135deg, rgba(252, 185, 0, 0.25) 0%, rgba(252, 185, 0, 0.1) 100%) !important;
  border: 1px solid rgba(252, 185, 0, 0.7) !important;
  color: #fcb900 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0.32rem 0.85rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.quiz-host-medallion {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #fcb900 0%, #d49500 100%) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 4px 14px rgba(252, 185, 0, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.7) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #580c2f !important;
  flex: none !important;
  transition: transform 0.3s ease !important;
}

.quiz-host-card:hover .quiz-host-medallion {
  transform: scale(1.08) rotate(5deg) !important;
}

.quiz-host-name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  margin: 0.2rem 0 0.45rem 0 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

.quiz-host-role {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: #ffe082 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
  margin: 0 !important;
}

.quiz-host-sparkle {
  color: #fcb900 !important;
  font-size: 0.85rem !important;
  flex: none !important;
  text-shadow: 0 0 8px rgba(252, 185, 0, 0.8) !important;
}

.quiz-host-footer-accent {
  margin-top: 1.15rem !important;
  padding-top: 0.85rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  letter-spacing: 0.04em !important;
}

/* Season Cards (Attached 3) */
.season-card {
  background: #ffffff !important;
  border: 1.5px solid #abb8c380 !important;
  border-radius: 1.25rem !important;
  padding: 1.75rem 2rem !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
}

.season-card:hover {
  border-color: #7d1645 !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 18px 40px rgba(125, 22, 69, 0.12) !important;
}

.season-card.current-season {
  border-color: #fcb900 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
  box-shadow: 0 8px 25px rgba(252, 185, 0, 0.12) !important;
}

.season-card.current-season:hover {
  border-color: #e5a800 !important;
  box-shadow: 0 18px 44px rgba(252, 185, 0, 0.25) !important;
}

.season-card-action {
  margin-top: 1.25rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: #7d1645 !important;
  letter-spacing: 0.02em !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

.season-card:hover .season-card-action {
  color: #c98f00 !important;
  transform: translateX(4px) !important;
}

/* Season Detail Showcase */
.season-detail-box {
  background: #ffffff !important;
  border: 1.5px solid rgba(125, 22, 69, 0.14) !important;
  border-radius: 1.5rem !important;
  padding: 2.25rem 2.25rem !important;
  box-shadow: 0 16px 45px rgba(125, 22, 69, 0.06), 0 2px 10px rgba(0, 0, 0, 0.02) !important;
  position: relative !important;
}

@media (max-width: 640px) {
  .season-detail-box {
    padding: 1.5rem 1.25rem !important;
    border-radius: 1.2rem !important;
  }
}

.season-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #7d1645 !important;
  background: #ffffff !important;
  border: 1.5px solid #7d1645 !important;
  padding: 0.55rem 1.25rem !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  line-height: 1.2 !important;
}

.season-back-btn:hover {
  background: #7d1645 !important;
  color: #ffffff !important;
  transform: translateX(-3px) !important;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.2) !important;
}

.season-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: linear-gradient(135deg, rgba(252, 185, 0, 0.18) 0%, rgba(252, 185, 0, 0.08) 100%) !important;
  border: 1px solid rgba(252, 185, 0, 0.7) !important;
  color: #925400 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.35rem 0.95rem !important;
  border-radius: 9999px !important;
}

.season-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 1rem !important;
  margin: 1.75rem 0 !important;
}

.season-stat-item {
  background: #faf6f3 !important;
  border: 1px solid rgba(125, 22, 69, 0.08) !important;
  border-radius: 1rem !important;
  padding: 1.15rem 1.25rem !important;
}

.season-stat-val {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #7d1645 !important;
  line-height: 1.2 !important;
}

.season-stat-lbl {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #8d7a85 !important;
  margin-top: 0.35rem !important;
}

/* Redesigned Gallery Section (Screenshot Improvement & Richness) */
.quiz-gallery-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.75rem !important;
  max-width: 1240px !important;
  margin: 2rem auto 0 auto !important;
}

@media (min-width: 640px) {
  .quiz-gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .quiz-gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  }
}

.quiz-gallery-grid-2 {
  max-width: 880px !important;
  grid-template-columns: 1fr !important;
}
@media (min-width: 640px) {
  .quiz-gallery-grid-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.quiz-gallery-grid-3 {
  max-width: 1240px !important;
  grid-template-columns: 1fr !important;
}
@media (min-width: 640px) {
  .quiz-gallery-grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (min-width: 1024px) {
  .quiz-gallery-grid-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.quiz-gallery-grid-4 {
  max-width: 1100px !important;
  grid-template-columns: 1fr !important;
}
@media (min-width: 640px) {
  .quiz-gallery-grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.quiz-gallery-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(125, 22, 69, 0.14) !important;
  border-radius: 1.35rem !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.quiz-gallery-card:hover {
  transform: translateY(-6px) !important;
  border-color: #fcb900 !important;
  box-shadow: 0 22px 50px rgba(125, 22, 69, 0.16), 0 0 20px rgba(252, 185, 0, 0.2) !important;
}

.quiz-gal-media {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #1a0510 !important;
}

.quiz-gal-photo {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.quiz-gallery-card:hover .quiz-gal-photo {
  transform: scale(1.06) !important;
}

.quiz-gal-badge {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  z-index: 5 !important;
  background: rgba(18, 5, 12, 0.78) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid #fcb900 !important;
  color: #fcb900 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
}

.quiz-gal-zoom {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 5 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  color: #7d1645 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
  opacity: 0.85 !important;
  transition: all 0.3s ease !important;
}

.quiz-gallery-card:hover .quiz-gal-zoom {
  background: #fcb900 !important;
  color: #7d1645 !important;
  transform: scale(1.1) !important;
  opacity: 1 !important;
}

.quiz-gal-meta {
  padding: 1.5rem 1.6rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  background: #ffffff !important;
}

.quiz-gal-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #7d1645 !important;
  line-height: 1.25 !important;
  margin: 0 0 0.45rem 0 !important;
}

.quiz-gal-desc {
  font-size: 0.88rem !important;
  color: #6b5a63 !important;
  line-height: 1.5 !important;
  margin: 0 0 1.25rem 0 !important;
  flex: 1 !important;
}

.quiz-gal-footer {
  padding-top: 0.85rem !important;
  border-top: 1px solid rgba(125, 22, 69, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #8d7a85 !important;
}

/* Curated Archive Notice Card */
.season-archive-card {
  background: linear-gradient(145deg, #ffffff 0%, #faf6f3 100%) !important;
  border: 1.5px dashed #fcb900 !important;
  border-radius: 1.35rem !important;
  padding: 2.25rem 2rem !important;
  text-align: center !important;
  box-shadow: 0 8px 24px rgba(252, 185, 0, 0.08) !important;
  max-width: 760px !important;
  margin: 1.5rem auto 0 auto !important;
}

/* Scoped Hidden Utilities for Seasons Section */

#seasons-all-view.hidden,
#season-single-detail.hidden,
.season-detail-panel.hidden,
.season-card.hidden {
  display: none !important;
}

/* ---- Active Season Indicator Pill (Attached 2 Enhancement) ---- */
.season-active-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  background: linear-gradient(135deg, #7d1645 0%, #520b2c 100%) !important;
  border: 1.5px solid #fcb900 !important;
  padding: 0.45rem 1.15rem !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.25), inset 0 0 10px rgba(252, 185, 0, 0.15) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex: none !important;
}

.season-active-dot {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  border-radius: 9999px !important;
  background: #fcb900 !important;
  box-shadow: 0 0 8px #fcb900, 0 0 14px rgba(252, 185, 0, 0.8) !important;
  display: inline-block !important;
  animation: pulse-dot 2s infinite ease-in-out !important;
}

@keyframes pulse-dot {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.35);
    opacity: 0.75;
  }
}

.season-active-prefix {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #fcb900 !important;
  line-height: 1 !important;
}

.season-active-label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
}

/* ---- Premium Gallery Highlights Badge (Rich, Prestigious & Elegant) ---- */
.quiz-gallery-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.5rem 1.35rem 0.5rem 0.65rem !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #7d1645 0%, #4a0726 100%) !important;
  border: 1.5px solid #fcb900 !important;
  box-shadow: 0 6px 20px rgba(125, 22, 69, 0.25), 0 2px 6px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.quiz-gallery-badge-pill:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 10px 28px rgba(125, 22, 69, 0.35), 0 0 16px rgba(252, 185, 0, 0.4) !important;
}

.quiz-gallery-badge-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 9999px !important;
  background: #fcb900 !important;
  color: #520b2c !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.3s ease !important;
}

.quiz-gallery-badge-pill:hover .quiz-gallery-badge-icon {
  transform: rotate(-6deg) scale(1.08) !important;
}

.quiz-gallery-badge-icon svg {
  width: 17px !important;
  height: 17px !important;
}

.quiz-gallery-badge-text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: #ffffff !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.quiz-gallery-badge-text .badge-gold {
  color: #fcb900 !important;
}

.quiz-gallery-badge-text .badge-dot {
  width: 4px !important;
  height: 4px !important;
  border-radius: 9999px !important;
  background: #fcb900 !important;
  display: inline-block !important;
  opacity: 0.8 !important;
}

/* ---- Season Album Quick Navigation Hub ---- */
.quiz-album-hub {
  margin-top: 3.5rem !important;
  padding: 2.25rem 2rem !important;
  background: linear-gradient(135deg, rgba(125, 22, 69, 0.03) 0%, rgba(255, 255, 255, 0.98) 50%, rgba(252, 185, 0, 0.05) 100%) !important;
  border: 1.5px solid rgba(125, 22, 69, 0.12) !important;
  border-radius: 1.75rem !important;
  box-shadow: 0 12px 32px -10px rgba(125, 22, 69, 0.07), 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.quiz-album-hub::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 140px !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #fcb900, transparent) !important;
  border-radius: 9999px !important;
}

.quiz-album-hub-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #7d1645 !important;
  margin-bottom: 0.5rem !important;
}

.quiz-album-hub-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #1f2937 !important;
  letter-spacing: -0.015em !important;
}

.quiz-album-hub-sub {
  font-size: 0.88rem !important;
  color: #6b7280 !important;
  margin-top: 0.35rem !important;
  margin-bottom: 1.5rem !important;
}

.quiz-album-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.85rem !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

@media (max-width: 900px) {
  .quiz-album-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 540px) {
  .quiz-album-grid {
    grid-template-columns: 1fr !important;
  }
  .quiz-album-hub {
    padding: 1.5rem 1.15rem !important;
  }
}

.quiz-album-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.9rem 1.1rem !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(125, 22, 69, 0.12) !important;
  border-radius: 1.1rem !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
  width: 100% !important;
}

.quiz-album-btn:hover {
  border-color: #c98f00 !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffdf5 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px -6px rgba(125, 22, 69, 0.14), 0 0 0 1px rgba(201, 143, 0, 0.25) !important;
}

.quiz-album-meta {
  display: flex !important;
  flex-direction: column !important;
}

.quiz-album-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  color: #7d1645 !important;
  line-height: 1.2 !important;
}

.quiz-album-count {
  font-size: 0.73rem !important;
  font-weight: 600 !important;
  color: #6b5a63 !important;
  margin-top: 0.25rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}

.quiz-album-arrow {
  width: 28px !important;
  height: 28px !important;
  border-radius: 9999px !important;
  background: rgba(125, 22, 69, 0.06) !important;
  color: #7d1645 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  transition: all 0.25s ease !important;
  flex-shrink: 0 !important;
}

.quiz-album-btn:hover .quiz-album-arrow {
  background: #7d1645 !important;
  color: #fcb900 !important;
  transform: translateX(3px) !important;
}

/* ---- Ultra-Rich & Elegant Season Album Jump Buttons ---- */
.quiz-season-pill-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.55rem 1.15rem 0.55rem 0.7rem !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffdf7 100%) !important;
  border: 1.5px solid rgba(125, 22, 69, 0.22) !important;
  box-shadow: 0 4px 14px rgba(125, 22, 69, 0.06), 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  cursor: pointer !important;
  transition: all 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.quiz-season-pill-btn:hover {
  background: linear-gradient(135deg, #7d1645 0%, #520b2c 100%) !important;
  border-color: #fcb900 !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 10px 24px rgba(125, 22, 69, 0.3), 0 0 14px rgba(252, 185, 0, 0.35) !important;
}

.quiz-season-pill-badge {
  width: 25px !important;
  height: 25px !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, #fcb900 0%, #e5a800 100%) !important;
  color: #580c2f !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.7rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  box-shadow: 0 2px 6px rgba(252, 185, 0, 0.35) !important;
  transition: transform 0.25s ease !important;
}

.quiz-season-pill-btn:hover .quiz-season-pill-badge {
  transform: scale(1.1) rotate(-6deg) !important;
}

.quiz-season-pill-name {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  color: #7d1645 !important;
  letter-spacing: -0.01em !important;
  transition: color 0.25s ease !important;
}

.quiz-season-pill-btn:hover .quiz-season-pill-name {
  color: #ffffff !important;
}

.quiz-season-pill-count {
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  color: #8c7380 !important;
  background: rgba(125, 22, 69, 0.06) !important;
  padding: 0.16rem 0.55rem !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.28rem !important;
  transition: all 0.25s ease !important;
}

.quiz-season-pill-btn:hover .quiz-season-pill-count {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #fcb900 !important;
}

.quiz-season-pill-arrow {
  font-size: 0.92rem !important;
  font-weight: 900 !important;
  color: #c98f00 !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

.quiz-season-pill-btn:hover .quiz-season-pill-arrow {
  color: #fcb900 !important;
  transform: translateX(4px) !important;
}

/* ---- Amberzine Magazine Book Mockup Cards ---- */
.mag-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mag-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 50px -15px rgba(45, 10, 25, 0.22), 0 0 0 1px rgba(125, 22, 69, 0.15) !important;
}

.mag-card-featured {
  background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%) !important;
  border: 2px solid #fcb900 !important;
  box-shadow: 0 18px 45px -12px rgba(125, 22, 69, 0.18), 0 0 0 1px rgba(252, 185, 0, 0.35) !important;
}

.mag-card-featured:hover {
  box-shadow: 0 28px 60px -15px rgba(125, 22, 69, 0.28), 0 0 0 2px rgba(252, 185, 0, 0.8) !important;
}

.mag-book-stage {
  perspective: 1200px;
  width: 100%;
}

.mag-book {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1.38 !important;
  border-radius: 6px 16px 16px 6px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 1.5rem 1.35rem 1.35rem 1.75rem !important;
  /* Dual gold hairline frame + 3D bound book spine and stacked pages */
  box-shadow: 
    inset 0 0 0 1px rgba(252, 185, 0, 0.55),
    inset 0 0 0 4px rgba(20, 4, 12, 0.45),
    inset 0 0 0 5px rgba(252, 185, 0, 0.35),
    -4px 0 10px rgba(0, 0, 0, 0.4), 
    2px 2px 0 #ede0cc, 
    4px 4px 0 #d9cbb2, 
    6px 6px 0 #c2b39a, 
    0 20px 42px -10px rgba(20, 4, 12, 0.5) !important;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-origin: left center;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.mag-card:hover .mag-book {
  transform: translateY(-8px) rotateY(-3deg) scale(1.02) !important;
  box-shadow: 
    inset 0 0 0 1.5px rgba(252, 185, 0, 0.85),
    inset 0 0 0 4px rgba(20, 4, 12, 0.45),
    inset 0 0 0 5.5px rgba(252, 185, 0, 0.5),
    -6px 0 14px rgba(0, 0, 0, 0.5), 
    3px 3px 0 #ede0cc, 
    5px 5px 0 #d9cbb2, 
    7px 7px 0 #c2b39a, 
    0 30px 60px -12px rgba(125, 22, 69, 0.45), 
    0 0 35px rgba(252, 185, 0, 0.35) !important;
}

/* Spine effect on the left */
.mag-book::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 24px;
  background: linear-gradient(90deg, 
    rgba(0, 0, 0, 0.72) 0%, 
    rgba(255, 255, 255, 0.22) 24%, 
    rgba(0, 0, 0, 0.24) 40%, 
    transparent 100%);
  border-right: 1px solid rgba(0, 0, 0, 0.35);
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.12);
  pointer-events: none;
  z-index: 21;
}

/* Diagonal Sheen */
.mag-book::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(130deg, 
    rgba(255, 255, 255, 0.2) 0%, 
    rgba(255, 255, 255, 0.04) 32%, 
    transparent 60%);
  pointer-events: none;
  z-index: 20;
}

/* Cover Backgrounds */
.mag-cover-3 {
  background: radial-gradient(circle at 50% 25%, #6e1039 0%, #470923 55%, #220310 100%) !important;
}

.mag-cover-2 {
  background: radial-gradient(circle at 50% 25%, #561334 0%, #370820 55%, #1b020e 100%) !important;
}

.mag-cover-1 {
  background: radial-gradient(circle at 50% 25%, #5e182e 0%, #3b0a1b 55%, #1d030c 100%) !important;
}

/* Gold Embossed Typography */
.mag-gold-title {
  font-family: 'DM Sans', Georgia, serif;
  font-weight: 900;
  letter-spacing: 0.12em;
  background: linear-gradient(180deg, #ffffff 0%, #fff4be 35%, #fcb900 70%, #d88900 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.75));
}

.mag-gold-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fcb900;
  font-size: 9px;
  letter-spacing: 0.15em;
  opacity: 0.9;
}
.mag-gold-divider::before,
.mag-gold-divider::after {
  content: '';
  height: 1px;
  width: 32px;
  background: linear-gradient(90deg, transparent, #fcb900);
}
.mag-gold-divider::after {
  background: linear-gradient(90deg, #fcb900, transparent);
}

/* Volume Badge inside Book Cover */
.mag-vol-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: 9999px !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.mag-vol-badge-gold {
  background: linear-gradient(135deg, #fcb900 0%, #f59e0b 100%) !important;
  color: #5c0f32 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
}