@tailwind base;@tailwind components;@tailwind utilities;:root{--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .2s;--duration-normal: .3s;--duration-reveal: .8s;--shadow-lift: 0 20px 40px -12px rgba(15, 23, 42, .12);--shadow-anchored: 0 10px 15px -3px rgba(226, 232, 240, .8);--shadow-overlay: 0 25px 60px -20px rgba(15, 23, 42, .25)}:global(body){@apply bg-white text-slate-800 antialiased selection:bg-amber-100 selection:text-amber-900;}html{scroll-behavior:smooth}:focus-visible{outline:2px solid #f59e0b;outline-offset:2px;border-radius:4px}.glass{background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8)}.glass-dark{background:#0f172a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.nav-link{position:relative;font-family:Outfit,sans-serif}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:#f59e0b;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out-quart)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.hero-mesh{background-color:#fff;background-image:radial-gradient(at 80% 0%,rgba(245,158,11,.16) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(16,185,129,.1) 0px,transparent 50%)}.islamic-lattice{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%2310b981' stroke-width='1'%3E%3Cpath d='M36 4 L44 20 L62 20 L48 32 L54 50 L36 38 L18 50 L24 32 L10 20 L28 20 Z'/%3E%3Crect x='18' y='18' width='36' height='36' transform='rotate(45 36 36)'/%3E%3C/g%3E%3C/svg%3E");background-size:72px 72px}.islamic-lattice-amber{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23f59e0b' stroke-width='1'%3E%3Cpath d='M36 4 L44 20 L62 20 L48 32 L54 50 L36 38 L18 50 L24 32 L10 20 L28 20 Z'/%3E%3Crect x='18' y='18' width='36' height='36' transform='rotate(45 36 36)'/%3E%3C/g%3E%3C/svg%3E");background-size:72px 72px}.orbit-spin{animation:orbitSpin 40s linear infinite}@keyframes orbitSpin{to{transform:rotate(360deg)}}.quote-tail{position:relative}.quote-tail:after{content:"";position:absolute;left:2.5rem;bottom:-1rem;width:2rem;height:1.25rem;background:inherit;clip-path:polygon(0 0,100% 0,0 100%)}.porto-card-visual{position:relative;border-radius:1rem;overflow:hidden;background:#fff;border:1px solid #e2e8f0;transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo)}.porto-card-visual:hover{transform:translateY(-4px);border-color:#f59e0b;box-shadow:var(--shadow-lift)}.porto-img-box{aspect-ratio:4 / 3;overflow:hidden;background:#f8fafc}.porto-img-box img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out-expo)}.porto-card-visual:hover .porto-img-box img{transform:scale(1.04)}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-reveal) var(--ease-out-quart),transform var(--duration-reveal) var(--ease-out-quart)}.js .reveal.in-view{opacity:1;transform:translateY(0)}.js .stagger>*{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out-quart),transform .6s var(--ease-out-quart)}.js .stagger.in-view>*{opacity:1;transform:translateY(0)}.js .stagger.in-view>*:nth-child(1){transition-delay:60ms}.js .stagger.in-view>*:nth-child(2){transition-delay:.12s}.js .stagger.in-view>*:nth-child(3){transition-delay:.18s}.js .stagger.in-view>*:nth-child(4){transition-delay:.24s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#f59e0b}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit-spin{animation:none}.porto-card-visual{transition:box-shadow var(--duration-fast),border-color var(--duration-fast)}.porto-card-visual:hover,.porto-card-visual:hover .porto-img-box img{transform:none}.js .reveal,.js .stagger>*{opacity:1;transform:none;transition:none}}
