/* Base site styles extracted from index.html */
body { font-family: "Inter", sans-serif; color: #1a202c; background-color: #f7fafc; }
h1,h2,h3,h4,h5,h6 { font-family: "Poppins", sans-serif; font-weight: 700; }
.gradient-bg { background: linear-gradient(135deg, #2a4365 0%, #3182ce 100%); }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
.accordion-content.active { max-height: 1200px; }
.hero-pattern { background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23F6AD55' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

/* Gradient text utility */
.text-gradient{ background: linear-gradient(90deg, #2A4365 0%, #3182CE 50%, #F6AD55 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Section header underline accent */
.section-title{ position: relative; display:inline-block; }
.section-title:after{ content:''; position:absolute; left:50%; transform:translateX(-50%); bottom:-10px; width:80px; height:3px; background: linear-gradient(90deg,#2A4365,#F6AD55); border-radius:2px; }

/* Optional parallax effect container */
.parallax{ position:relative; overflow:hidden; }
.parallax > .parallax-bg{ position:absolute; inset:-10%; background-size:cover; background-position:center; transform: translateY(-10%); will-change: transform; }

/* Smart Welcome Popup styles (scoped minimal to avoid Tailwind conflicts) */
body.overlay { overflow:hidden; max-height:100%; max-width:100%; }
body.overlay:after{ content:''; width:100%; height:100%; position:fixed; top:0; left:0; right:0; bottom:0; background:#000; opacity:.8; z-index:9; }

.popScroll{ position:fixed; z-index:1000; top:0; left:0; right:0; display:table; text-align:center; width:100%; height:100%; padding-top:80px; box-sizing:border-box; }
.popScroll .popup{ z-index:1001; width:520px; min-height:420px; position:relative; margin:0 auto 40px; display:block; text-align:center; background-color:#fff; box-shadow:0 15px 45px rgba(0,0,0,.25); border-radius:14px; transform-origin:top center; animation: iconosani 0.9s forwards; }
@keyframes iconosani{ 0%{ transform: perspective(800px) rotateX(-90deg); opacity:1;} 40%{ transform: perspective(800px) rotateX(30deg); opacity:1;} 70%{ transform: perspective(800px) rotateX(-10deg);} 100%{ transform: perspective(800px) rotateX(0deg); opacity:1;} }
.popScroll h1{ height:60px; position:relative; color:#fff; font:22px/60px 'Poppins', sans-serif; text-align:center; text-transform:none; background:#2A4365; border-top-left-radius:14px; border-top-right-radius:14px; }
.popScroll .subscribe-widget .email-form{ font-size:14px; color:#333; padding-left:10px; width:300px; border:1px solid #e0e0e0; padding:8px 0 8px 10px; line-height:25px; border-radius:8px; }
.popScroll .subscribe-widget .button{ background:#F6AD55; padding:8px 18px; color:#1A202C; border:none; line-height:25px; margin-left:8px; cursor:pointer; border-radius:8px; font-weight:700; }
.popScroll p{ padding:1px 5px; font-family:'Inter', sans-serif; font-size:15px; margin:10px 0; }
.popScroll #option{ position:relative; }
.popScroll .boxi{ display:inline-block; width:169px; line-height:42px; color:#fff; text-align:center; text-decoration:none; transition: all .1s linear; }
.popScroll #home{ background:#2A4365; }
.popScroll #close{ background:#D21111; }
.popScroll em{ width:42px; display:inline-block; position:relative; margin:0 -20px; line-height:42px; background:#fff; color:#777; text-align:center; border-radius:50px; }
.popScroll #home:hover{ background:#1852C7; }
.popScroll #close:hover{ background:#B30E0E; }
.popScroll .ribbon{ position:absolute; z-index:100; width:100px; height:100px; overflow:hidden; }
.popScroll .ribbon.top-left{ top:-2.6px; left:-5px; }
.popScroll .ribbon.top-left.ribbon-primary>small{ position:absolute; display:block; width:100%; padding:8px 10px; text-align:center; text-transform:uppercase; font-weight:bold; font-size:65%; color:#fff; background:#428bca; transform: rotate(-45deg); box-shadow:0 3px 6px -3px rgba(0,0,0,.5); top:16px; left:-27px; }
.banner{ width:300px; height:160px; position:relative; margin:10px auto; display:block; text-align:center; background-color:#fff; box-shadow:0 0 10px rgba(0,0,0,.18); border-radius:10px; }
.adstext{ margin-top:20px; color:#000; position:relative; }
@media (max-width:600px){ .popScroll{ padding-top:70px;} .popScroll .popup{ width:92%; min-height:420px;} .popScroll h1{ height:48px; font:18px/48px 'Poppins', sans-serif;} .popScroll .subscribe-widget .email-form{ width:65%;} }
@media (max-width:400px){ .popScroll{ padding-top:64px;} .popScroll .popup{ width:92%; min-height:420px;} .popScroll h1{ height:44px; font:16px/44px 'Poppins', sans-serif;} .popScroll .subscribe-widget .email-form{ width:62%;} .banner{ margin:10px auto;} .adstext{ margin-top:20px;} }

/* Placeholder card inside popup */
.popup .placeholder-box{ margin:14px auto 0; width:86%; border:1px dashed #CBD5E1; border-radius:10px; padding:12px; color:#334155; background:#F8FAFC; }
.popup .placeholder-box strong{ color:#0F172A; }

/* Extra subtle hover motion for cards */
.package-card{ transition: transform .25s ease, box-shadow .25s ease; }
.package-card:hover{ transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0,0,0,.12); }

/* Removed legacy ad/demo styles */

/* Subtle scroll reveal animation */
[data-reveal]{ opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal-in{ opacity:1 !important; transform: translateY(0) !important; }

/* Mobile spacing optimizations */
@media (max-width: 768px) {
	/* Reduce excessive padding on mobile */
	.py-16 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
	.py-24 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
	
	/* Adjust margins for better mobile flow */
	.mb-16 { margin-bottom: 2rem !important; }
	.mb-20 { margin-bottom: 2.5rem !important; }
	.mt-16 { margin-top: 2rem !important; }
	.mt-20 { margin-top: 2.5rem !important; }
	
	/* Optimize grid gaps */
	.gap-12 { gap: 1.5rem !important; }
	.gap-16 { gap: 2rem !important; }
}
