*,: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.17 | MIT License | https://tailwindcss.com*/
*,:after,:before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb
}

:after,:before {
    --tw-content: ""
}

:host,html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

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

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

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-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button,input,optgroup,select,textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: 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 {
    opacity: 1;
    color: #9ca3af
}

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

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

:disabled {
    cursor: default
}

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

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

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

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

.mr-1 {
    margin-right: .25rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-4 {
    margin-top: 1rem
}

.max-w-7xl {
    max-width: 80rem
}

.bg-primary\/10 {
    background-color: rgba(22,93,255,.1)
}

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

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

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

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.font-inter {
    font-family: Inter,sans-serif
}

.text-\[clamp\(1\.5rem\2c 3vw\2c 2\.5rem\)\] {
    font-size: clamp(1.5rem,3vw,2.5rem)
}

.text-\[clamp\(1\.8rem\2c 4vw\2c 3rem\)\] {
    font-size: clamp(1.8rem,4vw,3rem)
}

.font-bold {
    font-weight: 700
}

.text-dark {
    --tw-text-opacity: 1;
    color: rgb(30 41 59/var(--tw-text-opacity,1))
}

.text-dark\/60 {
    color: rgba(30,41,59,.6)
}

.text-dark\/70 {
    color: rgba(30,41,59,.7)
}

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

.opacity-0 {
    opacity: 0
}

.opacity-100 {
    opacity: 1
}

.drop-shadow-lg {
    --tw-drop-shadow: drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.transition-colors {
    transition-property: color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s
}

.duration-300 {
    transition-duration: .3s
}

.perspective-1000 {
    perspective: 1000px
}

.preserve-3d {
    transform-style: preserve-3d
}

.backface-hidden {
    backface-visibility: hidden
}

.rotate-y-0 {
    transform: rotateY(0deg)
}

.rotate-y-45 {
    transform: rotateY(45deg)
}

.rotate-y-90 {
    transform: rotateY(90deg)
}

.rotate-y-135 {
    transform: rotateY(135deg)
}

.rotate-y-180 {
    transform: rotateY(180deg)
}

.rotate-y-225 {
    transform: rotateY(225deg)
}

.rotate-y-270 {
    transform: rotateY(270deg)
}

.rotate-y-315 {
    transform: rotateY(315deg)
}

.transition-transform-slow {
    transition: transform 1s ease-out
}

.scale-up {
    transform: scale(1.05)
}

.opacity-0 {
    opacity: 0
}

.opacity-100 {
    opacity: 1
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

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

.animate-fade-in {
    animation: fadeIn .8s ease forwards
}

body {
    font-family: Inter,sans-serif;
    overflow-x: hidden;
    background: linear-gradient(135deg,#e6f2ff,#f0e6ff);
    min-height: 100vh;
    color: #1e293b
}

.gallery-container {
    position: relative;
    width: 100%;
    height: 500px;
    display: flex;
    justify-content: center;
    align-items: center
}

.carousel {
    position: relative;
    width: 250px;
    height: 350px;
    transform-style: preserve-3d;
    transition: transform 1s ease
}

.carousel-item {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0,0,0,.2);
    transition: all .8s cubic-bezier(.175,.885,.32,1.275);
    opacity: 0;
    transform: translateZ(-300px)
}

.carousel-item.active {
    opacity: 1;
    transform: translateZ(320px)
}

.carousel-item.prev {
    opacity: .3;
    transform: rotateY(-45deg) translateZ(200px)
}

.carousel-item.next {
    opacity: .3;
    transform: rotateY(45deg) translateZ(200px)
}

.carousel-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 0;
    transition: transform .8s cubic-bezier(.25,.46,.45,.94),opacity .5s ease
}

.carousel-item img.loaded {
    opacity: 1
}

.carousel-item:hover img {
    transform: scale(1.1)
}

.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(22,93,255,.8);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 10;
    transition: all .3s ease;
    opacity: .7;
    outline: none
}

.nav-btn:hover {
    background: #165dff;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 0 15px rgba(22,93,255,.7);
    opacity: 1
}

.nav-btn:focus {
    outline: none;
    box-shadow: none
}

.nav-btn.prev {
    left: 10%
}

.nav-btn.next {
    right: 10%
}

.gallery-indicators {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    gap: 10px
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(22,93,255,.3);
    cursor: pointer;
    transition: all .3s ease
}

.indicator.active {
    background: #165dff;
    transform: scale(1.2);
    box-shadow: 0 0 10px rgba(22,93,255,.7)
}

.gallery-info {
    max-width: 800px;
    margin: 30px auto;
    text-align: center;
    padding: 0 20px
}

.gallery-title {
    font-size: clamp(1.5rem,3vw,2.5rem);
    font-weight: 700;
    margin-bottom: 15px;
    color: #1e293b;
    text-shadow: 0 2px 10px rgba(0,0,0,.1)
}

.gallery-desc {
    font-size: clamp(1rem,1.5vw,1.2rem);
    color: rgba(30,41,59,.8);
    line-height: 1.6
}

@media (max-width: 768px) {
    .gallery-container {
        height:400px
    }

    .carousel {
        width: 200px;
        height: 300px
    }

    .carousel-item.active {
        transform: translateZ(260px)
    }

    .carousel-item.prev {
        transform: rotateY(-45deg) translateZ(150px)
    }

    .carousel-item.next {
        transform: rotateY(45deg) translateZ(150px)
    }

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

    .nav-btn.prev {
        left: 5%
    }

    .nav-btn.next {
        right: 5%
    }
}

.hover\:text-dark:hover {
    --tw-text-opacity: 1;
    color: rgb(30 41 59/var(--tw-text-opacity,1))
}

.hover\:text-primary\/80:hover {
    color: rgba(22,93,255,.8)
}

@media (min-width: 768px) {
    .md\:px-8 {
        padding-left:2rem;
        padding-right: 2rem
    }
}
