*,*::before,*::after{box-sizing:border-box}*:not(dialog){margin:0}@media(prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}@font-face{font-family:cairo;font-style:normal;font-weight:400;font-display:swap;src:local('Cairo'),url(/fonts/cairo-regular.woff2)format('woff2');unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+200C-200E,U+FB50-FDFF,U+FE80-FEFF}@font-face{font-family:cairo;font-style:normal;font-weight:500;font-display:swap;src:local('Cairo Medium'),local('Cairo-Medium'),url(/fonts/cairo-medium.woff2)format('woff2');unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+200C-200E,U+FB50-FDFF,U+FE80-FEFF}@font-face{font-family:cairo;font-style:normal;font-weight:600;font-display:swap;src:local('Cairo SemiBold'),local('Cairo-SemiBold'),url(/fonts/cairo-semibold.woff2)format('woff2');unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+200C-200E,U+FB50-FDFF,U+FE80-FEFF}@font-face{font-family:cairo;font-style:normal;font-weight:700;font-display:swap;src:local('Cairo Bold'),local('Cairo-Bold'),url(/fonts/cairo-bold.woff2)format('woff2');unicode-range:U+6??,U+750-77F,U+8A0-8FF,U+200C-200E,U+FB50-FDFF,U+FE80-FEFF}:root{--primary-color:#581c87;--primary-hover:#3b0764;--primary-light-bg:rgba(124, 58, 237, 0.1);--primary-shadow:rgba(88, 28, 135, 0.15);--text-dark:#111827;--text-gray:#4b5563;--bg-light:#F5F3FF;--white:#ffffff;--border-light:#f3f4f6;--header-height:80px;--transition-fast:all 0.2s ease;--transition-normal:all 0.3s ease;--transition-bounce:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);--shadow-sm:0 4px 6px -1px rgba(0, 0, 0, 0.05);--shadow-md:0 10px 15px -3px rgba(0, 0, 0, 0.1)}*,*::before,*::after{box-sizing:border-box}body{font-family:cairo,system-ui,-apple-system,sans-serif;color:var(--text-dark);line-height:1.6;background-color:var(--white);display:grid;grid-template-rows:auto 1fr auto;padding-top:var(--header-height);margin:0}main{min-width:0;width:100%;overflow-x:clip}section{padding:clamp(3rem,5vw,5rem)max(20px,calc(50vw - 600px));h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:.5rem;text-align:center;&::after{content:'';display:block;width:80px;height:4px;background-color:var(--primary-color);margin:10px auto 3rem;border-radius:2px}}}header{background-color:var(--white);box-shadow:0 2px 4px rgba(0,0,0,5%);position:fixed;top:0;left:0;z-index:100;width:100%;> div{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:var(--header-height);a:first-child{align-items:center;flex-shrink:0;img{height:60px;width:auto;object-fit:contain}}input[type=checkbox]{display:none}label{display:none;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;z-index:110;div{width:24px;height:16px;display:flex;flex-direction:column;justify-content:space-between;span{display:block;height:2.5px;width:100%;background-color:var(--text-dark);border-radius:2px;transition:transform .3s ease,opacity .2s ease,width .3s ease;&:nth-child(2){width:75%;align-self:flex-start}}}}nav{display:flex;gap:2rem;align-items:center;a{color:var(--text-dark);text-decoration:none;font-weight:600;font-size:1rem;transition:var(--transition-fast);&:hover, &:focus-visible{color:var(--primary-color)}}}}}#hero{background-color:var(--bg-light);display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 3rem;align-items:center;h1{grid-column:1;grid-row:1;align-self:end;font-size:clamp(2rem,5vw,3rem);line-height:1.2;margin:0}p{grid-column:1;grid-row:2;font-size:1.2rem;color:var(--text-dark);margin:0 0 1rem}a{grid-column:1;grid-row:3;align-self:start;justify-self:start;display:inline-block;padding:12px 30px;border-radius:8px;text-decoration:none;font-weight:700;transition:var(--transition-normal);background-color:var(--primary-color);color:var(--white);&:hover, &:focus-visible{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:var(--shadow-md)}}img{grid-column:2;grid-row:1/span 3;width:100%;height:auto;display:block;border-radius:16px;filter:drop-shadow(0 25px 25px rgba(88,28,135,8%));animation:floatInPlace 4s ease-in-out infinite;will-change:transform}}#services{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;h2{grid-column:1/-1}article{background:var(--white);padding:2rem;border-radius:12px;box-shadow:var(--shadow-sm);transition:var(--transition-normal);border:1px solid var(--border-light);&:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}h3{color:var(--primary-color);margin-top:0;margin-bottom:1rem}p{color:var(--text-gray);margin:0}}}#book{background-color:var(--bg-light);display:flex;flex-direction:column;align-items:center;overflow:hidden;h2, #filter-container, #carousel-wrapper{width:100%} #filter-container { text-align: center; margin-bottom: 2.5rem; select { padding: 10px 20px; font-size: 1rem; border-radius: 8px; border: 2px solid var(--primary-color); background-color: var(--white); color: var(--text-dark); cursor: pointer; outline: none; min-width: 200px; transition: var(--transition-normal); &:focus { box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2); } } } #carousel-wrapper { position: relative; display: flex; align-items: center; gap: 1rem; > button { background-color: var(--primary-color); color: var(--white); border: none; width: 40px; height: 40px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: var(--transition-normal); z-index: 10; flex-shrink: 0; &:hover { background-color: var(--primary-hover); transform: scale(1.1); } } #book-viewport { overflow: hidden; width: 100%; min-width: 0; #book-track { display: flex; gap: 2rem; transition: transform 0.4s ease-in-out; will-change: transform; .book-card { flex: 0 0 300px; display: flex; flex-direction: column; padding: 0; overflow: hidden; background: var(--white); border-radius: 12px; box-shadow: var(--shadow-sm); transition: var(--transition-normal); border: 1px solid var(--border-light); &:hover { box-shadow: var(--shadow-md); } > div:first-child { position: relative; width: 100%; &:hover > button { opacity: 1; } > button { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.5); color: var(--white); border: none; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; z-index: 5; transition: var(--transition-normal); opacity: 0; &:hover { background: rgba(0, 0, 0, 0.8); } &:first-of-type { right: 10px; } &:last-of-type { left: 10px; } } > div { overflow: hidden; width: 100%; aspect-ratio: 3 / 4; .inner-track { display: flex; width: 100%; height: 100%; transition: transform 0.3s ease-in-out; will-change: transform; img { flex: 0 0 100%; width: 100%; height: 100%; object-fit: cover; } } } } > div:last-child { padding: 1.5rem; text-align: center; display: flex; flex-direction: column; gap: 0.5rem; align-items: center; span { font-size: 0.85rem; color: var(--primary-color); background: var(--primary-light-bg); padding: 4px 12px; border-radius: 20px; font-weight: bold; } } } } } }}#testimonials{background-color:var(--primary-color);color:var(--white);padding:clamp(3rem,5vw,5rem)0;overflow:hidden;h2{&::after{background-color:#60a5fa}}.testimonials-slider{width:100%;margin-top:2rem;overflow:hidden;position:relative;direction:ltr;mask-image:linear-gradient( to right,transparent,black 10%,black 90%,transparent );-webkit-mask-image:linear-gradient( to right,transparent,black 10%,black 90%,transparent );&:hover .testimonials-track{animation-play-state:paused}}.testimonials-track{display:flex;gap:2rem;width:max-content;animation:infiniteMarquee 15s linear infinite;will-change:transform}.testimonial-card{flex:0 0 350px;max-width:80vw;direction:rtl;text-align:right;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);padding:2rem;border-radius:16px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 25px -5px rgba(0,0,0,.2);transition:transform .3s ease,border-color .3s ease;&:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}p{margin:0 0 1.5rem;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.95)}h3{color:#fff;font-size:1.25rem;font-weight:700;padding-inline-start:.75rem;border-inline-start:4px solid #b66dfb;margin:0 0 .75rem}}}@keyframes infiniteMarquee{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}@media(prefers-reduced-motion:reduce){.testimonials-track{animation:none!important}}.scroll-anim{opacity:0;transition:opacity .8s ease-out,transform .8s cubic-bezier(.175,.885,.32,1.275);will-change:opacity,transform}.fade-up{transform:translateY(50px)}.fade-down{transform:translateY(-50px)}.fade-left{transform:translateX(-50px)}.fade-right{transform:translateX(50px)}.zoom-in{transform:scale(.9)}.scroll-anim.in-view{opacity:1;transform:translate(0,0)scale(1)}.delay-1{transition-delay:100ms}.delay-2{transition-delay:200ms}.delay-3{transition-delay:300ms}.delay-4{transition-delay:400ms}#contact{background-color:var(--bg-light);padding:5rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem;h2{color:var(--text-dark);margin:0}> p{color:var(--text-gray);font-size:1.1rem;max-width:500px;margin:-1rem 0 1rem;line-height:1.6}address{font-style:normal;display:flex;flex-direction:column;width:100%;max-width:700px;gap:1.5rem;align-items:center;justify-content:center;@media(min-width:600px){flex-direction: row;}a, article{background:var(--white);padding:2rem;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1;width:100%;text-decoration:none;box-shadow:var(--shadow-sm);transition:var(--transition-bounce);svg{color:var(--text-gray);margin-bottom:.5rem;transition:transform .3s ease,color .3s ease}strong{color:var(--primary-color);font-size:1.2rem}span{color:var(--text-dark);font-weight:600;font-size:1.1rem}&:hover, &:focus-visible{transform:translateY(-8px);box-shadow:0 15px 30px var(--primary-shadow);svg{color:var(--primary-color);transform:scale(1.15)rotate(5deg)}}}}aside{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:1rem;h3{font-size:1.5rem;color:var(--text-dark);margin:0}menu{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;a{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:var(--white);color:var(--primary-color);border-radius:50%;box-shadow:var(--shadow-sm);transition:var(--transition-bounce);&:hover, &:focus-visible{background:var(--primary-color);color:var(--white);transform:translateY(-8px)scale(1.1);box-shadow:0 12px 25px rgba(88,28,135,.3)}}}}}footer{padding:1.5rem 1rem;display:flex;justify-content:center;align-items:center}@keyframes floatInPlace{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}@media(max-width:768px){header>div{label{display:flex}nav{position:fixed;top:var(--header-height);right:-100%;width:100%;height:calc(100vh - var(--header-height));background-color:var(--white);flex-direction:column;justify-content:flex-start;padding:3rem 2rem;gap:2rem;transition:right .3s ease-in-out;box-shadow:-4px 4px 10px rgba(0,0,0,5%);z-index:105;a{font-size:1.2rem;text-align:center;padding:12px 0;border-bottom:1px solid var(--bg-light);width:100%}}input[type=checkbox]:checked{~ nav{right:0}~ label div span{&:nth-child(1){transform:translateY(6.5px)rotate(-45deg)}&:nth-child(2){opacity:0;transform:translateX(10px)}&:nth-child(3){transform:translateY(-7px)rotate(45deg)}}}}section{padding:3rem 20px}#hero{grid-template-columns:1fr;text-align:center;h1, p, a, img{grid-column:1;grid-row:auto}a{justify-self:center}img{margin-top:2rem}}#book #carousel-wrapper{> button{display:none} #book-viewport { overflow-x: auto; padding-bottom: 1rem; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; #book-track { transition: none; gap: 1rem; .book-card { flex: 0 0 280px; max-width: 80vw; scroll-snap-align: center; } } }}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scroll-anim{opacity:1!important;transform:none!important;transition:none!important}}