:root{--heritage-primary: #2c1810;--heritage-secondary: #d4af37;--heritage-accent: #8b6914;--heritage-background: #1a0f0a;--heritage-surface: #2c1810;--heritage-surface-light: #3d2419;--heritage-text-dark: #0d0906;--heritage-text-light: #f4e4c1;--heritage-text-gold: #d4af37;--heritage-gold: #d4af37;--heritage-gold-light: #e6c547;--heritage-brown: #2c1810;--heritage-brown-dark: #1a0f0a;--heritage-border: #8b6914;--heritage-shadow: rgba(212, 175, 55, .3)}.user-profile-section{position:absolute;top:20px;right:30px;display:flex;align-items:center;gap:1.2rem;padding:.8rem 1.5rem;background:linear-gradient(135deg,#1c100af2,#2c1810f2);border-radius:50px;border:1.5px solid var(--heritage-gold);box-shadow:0 4px 15px #00000080,0 0 30px #d4af371a;z-index:100;will-change:transform}.user-name-text{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:var(--heritage-gold);text-shadow:0 2px 6px rgba(212,175,55,.3);letter-spacing:.02em}.logout-button{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#8b69144d;border:1.5px solid var(--heritage-gold);border-radius:25px;color:var(--heritage-gold);font-family:Cinzel,serif;font-size:.85rem;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.logout-button:hover{background:#d4af3766;border-color:var(--heritage-gold-light);color:var(--heritage-gold-light);box-shadow:0 0 15px #d4af3766;transform:scale(1.05)}.logout-button:active{transform:scale(.98)}.logout-icon{font-size:1rem;font-weight:700}.logout-text{text-transform:uppercase}@media(max-width:768px){.user-profile-section{top:15px;right:20px;gap:.8rem;padding:.6rem 1.2rem}.user-name-text{font-size:1rem}.logout-button{padding:.4rem .8rem;font-size:.8rem}.logout-text{display:none}}@media(max-width:480px){.user-profile-section{top:10px;right:10px;gap:.5rem;padding:.5rem 1rem}.user-name-text{font-size:.9rem}.logout-button{padding:.4rem .7rem}}body{margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg,var(--heritage-background) 0%,var(--heritage-brown-dark) 50%,var(--heritage-background) 100%);background-attachment:fixed;font-family:Cormorant Garamond,Georgia,serif;color:var(--heritage-text-light);display:flex;flex-direction:column;align-items:center;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){@keyframes fadeUp{0%{opacity:0;transform:translateY(12px);letter-spacing:.5px}to{opacity:1;transform:translateY(0);letter-spacing:2px}}@keyframes fadeUpSub{0%{opacity:0;transform:translateY(10px);letter-spacing:.2px}to{opacity:1;transform:translateY(0);letter-spacing:1px}}.main-title{opacity:0;animation:fadeUp .9s ease-out .1s forwards}.subtitle{opacity:0;animation:fadeUpSub .8s ease-out .25s forwards}@keyframes floatSlowTL{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(1deg) translateY(-3px)}to{transform:rotate(0) translateY(0)}}@keyframes floatSlowTR{0%{transform:rotate(90deg) translateY(0)}50%{transform:rotate(89deg) translateY(-3px)}to{transform:rotate(90deg) translateY(0)}}@keyframes floatSlowBL{0%{transform:rotate(-90deg) translateY(0)}50%{transform:rotate(-91deg) translateY(-3px)}to{transform:rotate(-90deg) translateY(0)}}@keyframes floatSlowBR{0%{transform:rotate(180deg) translateY(0)}50%{transform:rotate(179deg) translateY(-3px)}to{transform:rotate(180deg) translateY(0)}}.top-left-corner{animation:floatSlowTL 7s ease-in-out infinite}.top-right-corner{animation:floatSlowTR 7s ease-in-out infinite}.bottom-left-corner{animation:floatSlowBL 7s ease-in-out infinite}.bottom-right-corner{animation:floatSlowBR 7s ease-in-out infinite}.reveal{opacity:0;transform:translateY(14px);will-change:transform,opacity}.reveal.in-view{opacity:1;transform:translateY(0);transition:transform .65s cubic-bezier(.22,.61,.36,1),opacity .6s ease-out}.feature-card{will-change:transform,box-shadow,filter}.feature-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 8px 24px #0006;filter:drop-shadow(0 0 10px rgba(226,183,109,.25))}.footer-link{position:relative}.footer-link:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.footer-link:hover:after{transform:scaleX(1)}}.heritage-header{position:relative;background:linear-gradient(135deg,var(--heritage-surface) 0%,var(--heritage-surface-light) 50%,var(--heritage-surface) 100%);border:4px solid var(--heritage-border);border-radius:20px 20px 0 0;box-shadow:0 0 40px var(--heritage-shadow),inset 0 2px 10px #d4af371a,0 8px 32px #0009;padding:40px;max-width:900px;width:90vw;box-sizing:border-box;text-align:center;margin-bottom:0;contain:layout style}.subtitle{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:400;color:var(--heritage-text-light);margin-top:8px;letter-spacing:1.5px;text-shadow:1px 1px 3px rgba(0,0,0,.7);opacity:.9}.heritage-container{position:relative;background:linear-gradient(135deg,var(--heritage-surface) 0%,var(--heritage-surface-light) 30%,var(--heritage-surface) 70%,var(--heritage-brown-dark) 100%);border:4px solid var(--heritage-border);border-top:none;border-radius:0;box-shadow:0 0 40px var(--heritage-shadow),inset 0 2px 10px #d4af371a,0 8px 32px #0009;padding:40px;max-width:900px;width:90vw;box-sizing:border-box;text-align:center;margin-bottom:0;contain:layout style}.main-title{font-family:Cinzel,Georgia,serif;font-size:2.8rem;font-weight:600;color:var(--heritage-gold);margin-bottom:16px;letter-spacing:3px;font-variant:small-caps;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 20px var(--heritage-shadow);position:relative}.welcome-section,.instructions-section,.map-section,.features-section{margin-bottom:40px}.instructions-container .instruction-step.reveal,.features-grid .feature-card.reveal,.welcome-section.reveal,.map-section.reveal,.features-section.reveal,.instructions-section.reveal{transition-delay:var(--stagger, 0ms)}.section-title{font-family:Cinzel,Georgia,serif;font-size:2.2rem;font-weight:500;color:var(--heritage-gold);margin-bottom:24px;letter-spacing:2px;font-variant:small-caps;text-shadow:1px 1px 3px rgba(0,0,0,.8),0 0 15px var(--heritage-shadow);position:relative}.welcome-text{font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-weight:400;line-height:1.7;color:var(--heritage-text-light);margin-bottom:28px;max-width:700px;margin-left:auto;margin-right:auto;text-shadow:1px 1px 2px rgba(0,0,0,.5);opacity:.95}.instructions-container{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.instruction-step{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#7a5c2e26;border:2px solid #7a5c2e;border-radius:12px;transition:transform .3s ease,background .3s ease;will-change:transform;transform:translateZ(0)}.instruction-step:hover{background:#7a5c2e40;transform:translate(4px) translateZ(0)}.step-number{background:#7a5c2e;color:#e2b76d;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;border:2px solid #e2b76d}.step-content{flex:1}.step-title{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;color:#e2b76d;margin-bottom:8px;letter-spacing:.5px}.step-description{font-size:1rem;line-height:1.5;color:#d4a574;margin:0}.tip-box{background:#e2b76d1a;border:2px solid #e2b76d;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:12px;margin-top:16px}.tip-icon{font-size:1.5rem;flex-shrink:0}.tip-text{font-size:.95rem;line-height:1.4;color:#d4a574;margin:0}.tip-text strong{color:#e2b76d}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:24px}.feature-card{background:#7a5c2e33;border:2px solid #7a5c2e;border-radius:12px;padding:24px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;will-change:transform;transform:translateZ(0)}.feature-card:hover{background:#7a5c2e4d;transform:translateY(-6px) translateZ(0);box-shadow:0 8px 24px #0006}.feature-title{font-family:Georgia,Times New Roman,serif;font-size:1.3rem;color:#e2b76d;margin-bottom:12px;letter-spacing:1px}.feature-description{font-size:.95rem;line-height:1.5;color:#d4a574}.heritage-footer{position:relative;background:#2a1a0efa;border:3px solid #7a5c2e;border-top:none;border-radius:0 0 18px 18px;box-shadow:0 0 36px #000a;padding:24px 32px;max-width:800px;width:90vw;box-sizing:border-box;text-align:center}.footer-text{font-family:Georgia,Times New Roman,serif;font-size:1rem;color:#d4a574;margin-bottom:16px;font-style:italic}.footer-links{display:flex;justify-content:center;align-items:center;gap:8px}.footer-link{color:#e2b76d;text-decoration:none;font-size:.9rem;transition:color .3s ease}.footer-link:hover{color:#f4c97d;text-decoration:underline}.footer-separator{color:#7a5c2e;font-size:.8rem}.state-tooltip{position:absolute;background:#2a1a0efa;border:2px solid #7a5c2e;border-radius:12px;box-shadow:0 8px 24px #0006;padding:16px 20px;max-width:280px;min-width:200px;z-index:1000;display:none;pointer-events:none;will-change:transform,opacity;transform:translateZ(0);animation:tooltipFadeIn .2s ease-out}.state-tooltip:before{content:"";position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #7a5c2e}.state-tooltip:after{content:"";position:absolute;top:-6px;left:21px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(42,26,14,.95)}.tooltip-header{margin-bottom:8px;border-bottom:1px solid #7a5c2e;padding-bottom:6px}.tooltip-title{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;color:#e2b76d;margin:0;font-weight:700;letter-spacing:.5px;font-variant:small-caps}.tooltip-content{margin-top:8px}.tooltip-culture{font-family:Georgia,Times New Roman,serif;font-size:.9rem;line-height:1.4;color:#d4a574;margin:0;text-align:left}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.india-map path{transition:transform .2s ease,opacity .2s ease;will-change:transform,opacity;transform:translateZ(0)}.india-map path:hover{transform:scale(1.02) translateZ(0);opacity:.9}.map-container{display:flex;justify-content:center;align-items:center;margin-bottom:32px}.india-map{width:320px;height:auto;max-width:100%;border:none;background:transparent;cursor:pointer}.select-region{font-size:1.5rem;color:#e2b76d;margin-top:16px;letter-spacing:1.5px;font-family:Georgia,Times New Roman,serif}.recommendations-section{background:linear-gradient(135deg,#2c181099,#1c100a99);border:2px solid var(--heritage-gold);border-radius:20px;padding:3rem 2.5rem;margin:2rem auto;box-shadow:0 8px 32px #0006,inset 0 0 60px #d4af3714;position:relative;overflow:hidden}.recommendations-section:before{content:"✦";position:absolute;top:20px;left:20px;font-size:2rem;color:var(--heritage-gold);opacity:.3}.recommendations-section:after{content:"✦";position:absolute;bottom:20px;right:20px;font-size:2rem;color:var(--heritage-gold);opacity:.3}.recommendations-intro{text-align:center;font-family:Playfair Display,serif;font-size:1.1rem;color:var(--heritage-text-light);margin-bottom:2rem;font-style:italic}.recommendations-intro span{color:var(--heritage-gold);font-weight:600;text-transform:capitalize}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.recommendation-card{background:linear-gradient(135deg,#3d2419cc,#2c1810cc);border:1.5px solid var(--heritage-border);border-radius:16px;padding:2rem;position:relative;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;overflow:hidden;will-change:transform;transform:translateZ(0)}.recommendation-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--heritage-gold),var(--heritage-gold-light),var(--heritage-gold));transform:scaleX(0);transition:transform .4s ease}.recommendation-card:hover:before{transform:scaleX(1)}.recommendation-card:hover{transform:translateY(-8px) translateZ(0);border-color:var(--heritage-gold);box-shadow:0 12px 40px #d4af374d}.recommendation-badge{position:absolute;top:1rem;right:1rem;background:var(--heritage-gold);color:var(--heritage-brown-dark);padding:.4rem .8rem;border-radius:20px;font-family:Cinzel,serif;font-size:.8rem;font-weight:600;letter-spacing:.05em}.recommendation-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:var(--heritage-gold);margin-bottom:.8rem;letter-spacing:.02em}.recommendation-location{font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--heritage-text-gold);margin-bottom:1rem;opacity:.9}.recommendation-reason{font-family:Cormorant Garamond,serif;font-size:1.05rem;color:var(--heritage-text-light);line-height:1.6;margin-bottom:1.5rem}.recommendation-highlights{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.highlight-tag{background:#8b69144d;border:1px solid var(--heritage-border);color:var(--heritage-gold-light);padding:.4rem .9rem;border-radius:20px;font-family:Cinzel,serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.recommendation-btn{width:100%;padding:.9rem 1.5rem;background:linear-gradient(135deg,var(--heritage-gold) 0%,var(--heritage-gold-light) 100%);border:none;border-radius:10px;color:var(--heritage-brown-dark);font-family:Cinzel,serif;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden;will-change:transform;transform:translateZ(0)}.recommendation-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.recommendation-btn:hover:before{width:300px;height:300px}.recommendation-btn:hover{transform:scale(1.02) translateZ(0);box-shadow:0 8px 24px #d4af3766}.recommendation-btn:active{transform:scale(.98)}@media(max-width:768px){.heritage-header,.heritage-container,.heritage-footer{padding:20px;max-width:95vw}.main-title{font-size:1.8rem;letter-spacing:1px}.subtitle{font-size:1rem}.section-title{font-size:1.5rem}.welcome-text{font-size:1rem}.instruction-step{flex-direction:column;text-align:center;padding:16px}.recommendations-grid{grid-template-columns:1fr;gap:1.5rem}.recommendations-section{padding:2rem 1.5rem}.recommendation-card{padding:1.5rem}.step-number{align-self:center;margin-bottom:8px}.step-title{font-size:1.1rem}.step-description{font-size:.95rem}.tip-box{flex-direction:column;text-align:center;padding:14px 16px}.tip-text{font-size:.9rem}.state-tooltip{max-width:250px;min-width:180px;padding:12px 16px;font-size:.85rem}}.decorative-corner{position:absolute;width:64px;height:64px;z-index:2}.decorative-corner-svg{width:100%;height:100%;object-fit:contain;filter:sepia(1) hue-rotate(25deg) saturate(1.2) brightness(.9);opacity:.8}.heritage-header .decorative-corner.top-left{top:10px;left:10px;transform:rotate(0)}.heritage-header .decorative-corner.top-right{top:10px;right:10px;transform:rotate(90deg)}.heritage-footer .decorative-corner.bottom-left{bottom:10px;left:10px;transform:rotate(-90deg)}.heritage-footer .decorative-corner.bottom-right{bottom:10px;right:10px;transform:rotate(180deg)}@media(max-width:768px){.decorative-corner{width:48px;height:48px}.decorative-corner-svg{opacity:.6}}@media(max-width:480px){.decorative-corner{width:36px;height:36px}.heritage-header .decorative-corner.top-left,.heritage-header .decorative-corner.top-right{top:5px}.heritage-header .decorative-corner.top-left,.heritage-footer .decorative-corner.bottom-left{left:5px}.heritage-header .decorative-corner.top-right,.heritage-footer .decorative-corner.bottom-right{right:5px}.heritage-footer .decorative-corner.bottom-left,.heritage-footer .decorative-corner.bottom-right{bottom:5px}.decorative-corner-svg{opacity:.5}.tooltip-title{font-size:1rem}.tooltip-culture{font-size:.85rem;line-height:1.3}.features-grid{grid-template-columns:1fr;gap:16px}.feature-card{padding:20px 16px}.feature-title{font-size:1.2rem}.india-map{width:90vw}.select-region{font-size:1.1rem}.decorative-corner{width:28px;height:28px}.footer-links{flex-direction:column;gap:4px}.footer-separator{display:none}}@media(max-width:480px){.main-title{font-size:1.4rem}.section-title{font-size:1.3rem}.welcome-text{font-size:.95rem}}.wip-notice{max-width:800px;margin:2rem auto 2.5rem;padding:0 1.5rem}.wip-notice-inner{background:linear-gradient(135deg,#2c1810f2,#1a0f0afa);border:1.5px solid var(--heritage-border);border-radius:12px;padding:2rem 2.5rem;text-align:center;position:relative;box-shadow:0 4px 24px #d4af371f,inset 0 1px #d4af3714}.wip-notice-inner:before{content:"";position:absolute;top:-1px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,var(--heritage-gold),transparent)}.wip-notice-icon{font-size:2rem;margin-bottom:.5rem}.wip-notice-title{font-family:Cinzel,Georgia,serif;font-size:1.3rem;color:var(--heritage-gold);margin:0 0 1rem;letter-spacing:1.5px;text-transform:uppercase}.wip-notice-text{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;color:var(--heritage-text-light);line-height:1.7;margin:0 0 .8rem;opacity:.92}.wip-notice-text strong{color:var(--heritage-gold);font-weight:600}.wip-notice-cta{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0 1rem;flex-wrap:wrap}.wip-notice-btn{display:inline-block;font-family:Cinzel,Georgia,serif;font-size:.85rem;color:var(--heritage-background);background:linear-gradient(135deg,var(--heritage-gold) 0%,var(--heritage-gold-light) 100%);padding:.7rem 1.8rem;border-radius:6px;text-decoration:none;letter-spacing:1px;text-transform:uppercase;font-weight:700;transition:all .3s ease;box-shadow:0 2px 8px #d4af3740}.wip-notice-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #d4af3766;background:linear-gradient(135deg,var(--heritage-gold-light) 0%,var(--heritage-gold) 100%)}.wip-notice-footer-text{font-family:Cormorant Garamond,Georgia,serif;font-size:.95rem;color:var(--heritage-text-light);opacity:.6;margin:0;font-style:italic}@media(max-width:600px){.wip-notice{padding:0 1rem;margin:1.5rem auto 2rem}.wip-notice-inner{padding:1.5rem 1.2rem}.wip-notice-title{font-size:1.1rem}.wip-notice-text{font-size:1rem}.wip-notice-btn{font-size:.78rem;padding:.6rem 1.4rem}}
