@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Reset & Base - SAME AS BEFORE but adding V3 features at end */
*,::after,::before{box-sizing:border-box;border:0 solid #e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,-apple-system,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit;background:#0A1628;color:#F8FAFC;background-image:linear-gradient(135deg,#0A1628 0%,#1A2742 50%,#0A1628 100%);background-attachment:fixed;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p{margin:0}
a{color:inherit;text-decoration:inherit}
.font-serif{font-family:'Cormorant Garamond',serif}

.glass{background:rgba(255,255,255,0.05);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1)}
.glass-strong{background:rgba(255,255,255,0.08);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,0.15)}
.bg-gold-gradient{background:linear-gradient(135deg,#D4AF37 0%,#A88734 100%)}
.text-gradient-gold{background:linear-gradient(135deg,#D4AF37,#F4E5C2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.text-navy{color:#0A1628}
.text-gold{color:#D4AF37}
.text-white{color:#fff}
.text-gray-400{color:#9ca3af}

.container{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-12{gap:3rem}

.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.space-x-2>:not([hidden])~:not([hidden]){margin-left:0.5rem}
.space-x-3>:not([hidden])~:not([hidden]){margin-left:0.75rem}
.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}
.space-x-6>:not([hidden])~:not([hidden]){margin-left:1.5rem}
.space-x-8>:not([hidden])~:not([hidden]){margin-left:2rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}
.space-y-3>:not([hidden])~:not([hidden]){margin-top:0.75rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}
.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}

.w-full{width:100%}
.w-6{width:1.5rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{width:4rem}
.h-20{height:5rem}
.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-7xl{max-width:80rem}

.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.p-12{padding:3rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-32{padding-top:8rem;padding-bottom:8rem}
.pt-0{padding-top:0}
.pt-4{padding-top:1rem}
.m-0{margin:0}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-12{margin-top:3rem}

.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.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-6xl{font-size:3.75rem;line-height:1}
.text-7xl{font-size:4.5rem;line-height:1}
.text-center{text-align:center}
.text-left{text-align:left}
.font-light{font-weight:300}
.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.leading-tight{line-height:1.25}

.rounded{border-radius:0.25rem}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.border{border-width:1px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}

.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}
.top-0{top:0}
.bottom-6{bottom:1.5rem}
.right-6{right:1.5rem}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-10{z-index:10}
.z-40{z-index:40}
.z-50{z-index:50}

.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.hidden{display:none}
.overflow-hidden{overflow:hidden}
.overflow-x-hidden{overflow-x:hidden}

.opacity-10{opacity:0.1}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}

.transition{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:300ms}
.hover\:text-yellow-400:hover{color:#facc15}
.hover\:text-white:hover{color:#fff}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1)}
.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.hover\:-translate-y-1:hover{transform:translateY(-0.25rem)}
.hover\:-translate-y-2:hover{transform:translateY(-0.5rem)}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:scale-110:hover{transform:scale(1.1)}
.hover\:scale-115:hover{transform:scale(1.15) translateY(-2px)}
.hover\:bg-white\/20:hover{background:rgba(255,255,255,0.2)}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(212,175,55,0.7)}70%{box-shadow:0 0 0 15px rgba(212,175,55,0)}100%{box-shadow:0 0 0 0 rgba(212,175,55,0)}}
@keyframes calcPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

.animate-float{animation:float 6s ease-in-out infinite}
.pulse-ring{animation:pulse-ring 2s cubic-bezier(0.4,0,0.6,1) infinite}

/* V3 FEATURES START HERE */

/* Scroll Reveal Animation */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),transform 0.8s cubic-bezier(0.4,0,0.2,1)}
.reveal.active{opacity:1;transform:translateY(0)}

/* FAQ Accordion */
.accordion-content{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1),padding 0.4s}
.accordion-item.active .accordion-content{max-height:800px;padding-bottom:1.5rem}
.accordion-icon{transition:transform 0.3s ease;display:inline-block}
.accordion-item.active .accordion-icon{transform:rotate(45deg)}
.accordion-item{transition:all 0.2s}
.accordion-item:hover{background:rgba(255,255,255,0.1)}

/* Floating Action Buttons */
.floating-widget{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;display:flex;flex-direction:column;gap:0.75rem}
.widget-btn{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(0,0,0,0.4);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);cursor:pointer;text-decoration:none}
.widget-btn:hover{transform:scale(1.15) translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,0.5)}
.widget-btn:active{transform:scale(0.95)}

/* Calculator Pulse Effect */
.calc-pulse{animation:calcPulse 0.5s ease}

/* Form Enhancements */
input,textarea,select{width:100%;padding:1rem;border-radius:0.75rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#fff;font-size:1rem;transition:all 0.2s}
input:focus,textarea:focus,select:focus{outline:none;border-color:#D4AF37;background:rgba(255,255,255,0.08);box-shadow:0 0 0 3px rgba(212,175,55,0.1)}
input::placeholder,textarea::placeholder{color:#6b7280}
button{cursor:pointer;border:none;font-family:inherit}

/* Custom Checkbox */
input[type="checkbox"]{appearance:none;width:1.25rem;height:1.25rem;border:2px solid #6b7280;border-radius:0.375rem;background:#0A1628;cursor:pointer;position:relative;transition:all 0.2s;flex-shrink:0}
input[type="checkbox"]:checked{background:#D4AF37;border-color:#D4AF37}
input[type="checkbox"]:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#0A1628;font-size:0.875rem;font-weight:bold;line-height:1}
input[type="checkbox"]:hover{border-color:#D4AF37}

/* Responsive */
@media (min-width:640px){
.sm\:flex-row{flex-direction:row}
.sm\:text-lg{font-size:1.125rem}
}

@media (min-width:768px){
.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\:flex{display:flex}
.md\:hidden{display:none}
.md\:text-5xl{font-size:3rem}
.md\:text-6xl{font-size:3.75rem}
.md\:text-7xl{font-size:4.5rem}
}

@media (min-width:1024px){
.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\:text-6xl{font-size:3.75rem}
.lg\:text-7xl{font-size:4.5rem}
.lg\:py-32{padding-top:8rem;padding-bottom:8rem}
.lg\:p-12{padding:3rem}
}

@media (max-width:768px){
.floating-widget{bottom:1rem;right:1rem;gap:0.5rem}
.widget-btn{width:50px;height:50px}
.widget-btn svg{width:1.25rem;height:1.25rem}
}

.cursor-pointer{cursor:pointer}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
