:root{--color-bg-base: #FFFAED;--color-bg-warm: #FFF8F0;--color-bg-temple: #FDF6E8;--color-card-bg: #FFFFFF;--color-overlay: rgba(0, 0, 0, .6);--color-overlay-warm: rgba(26, 26, 26, .85);--color-brand-primary: #C62828;--color-brand-primary-dark: #8B1A1A;--color-brand-primary-light: #FF8A65;--color-brand-secondary: #FFA726;--color-brand-secondary-dark: #E65100;--color-accent-gold: #FFD700;--color-accent-bronze: #CD7F32;--color-accent-brass: #B5A642;--color-accent-cool: #1E3A5F;--color-accent-teal: #0D4F4F;--color-text-primary: #1A1A1A;--color-text-secondary: #4A4A4A;--color-text-muted: #757575;--color-text-inverse: #FFFFFF;--color-border-light: #E8E0D5;--color-border-warm: #D4C4A8;--color-success: #2E7D32;--color-info: #1565C0;--color-warning: #EF6C00;--color-error: #C62828;--gradient-temple: linear-gradient(135deg, var(--color-brand-primary) 0%, #8B1A1A 100%);--gradient-gold: linear-gradient(135deg, var(--color-accent-gold) 0%, var(--color-accent-bronze) 100%);--gradient-kolam: linear-gradient(90deg, var(--color-brand-primary), var(--color-brand-secondary), var(--color-accent-gold));--gradient-bronze: linear-gradient(135deg, var(--color-accent-bronze) 0%, #8B6914 50%, var(--color-accent-brass) 100%);--gradient-night: linear-gradient(180deg, #0a1628 0%, var(--color-accent-cool) 100%);--font-heading: "Sora", sans-serif;--font-body: "DM Sans", sans-serif;--font-tamil: "Noto Sans Tamil", sans-serif;--font-display: "Instrument Serif", Georgia, serif;--font-size-h1: 3.25rem;--font-size-h2: 2.25rem;--font-size-h3: 1.875rem;--font-size-h4: 1.5rem;--font-size-h5: 1.25rem;--font-size-h6: 1rem;--font-size-body: 1rem;--font-size-small: .875rem;--line-height-heading: 1.2;--line-height-body: 1.5;--line-height-caption: 1.4;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--radius-sm: .5rem;--radius-md: .625rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--container-max: 1280px;--container-content: 1024px;--container-narrow: 768px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-primary);background-color:var(--color-bg-base);min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--line-height-heading);font-weight:700;margin:0}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-size:var(--font-size-h6)}p{margin:0}a{color:var(--color-brand-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-primary-dark)}a:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;border-radius:2px}button{font-family:var(--font-body);cursor:pointer;border:none;transition:all var(--transition-base)}button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{padding:0 var(--spacing-xl)}}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}::selection{background-color:#c6282833;color:var(--color-text-primary)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #c6282833}50%{box-shadow:0 0 40px #c6282866}}@keyframes revealLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateKolam{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hover-lift{transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.hover-underline{position:relative}.hover-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--gradient-kolam);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.hover-underline:hover:after{transform:scaleX(1)}.hover-shine{position:relative;overflow:hidden}.hover-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.hover-shine:hover:before{left:100%}.kolam-border-top{position:relative}.kolam-border-top:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--color-brand-primary) 0px,var(--color-brand-primary) 15px,transparent 15px,transparent 20px,var(--color-brand-secondary) 20px,var(--color-brand-secondary) 35px,transparent 35px,transparent 40px,var(--color-accent-gold) 40px,var(--color-accent-gold) 55px,transparent 55px,transparent 60px)}.temple-pillar-left{position:relative}.temple-pillar-left:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-brand-primary) 0%,var(--color-brand-secondary) 50%,var(--color-accent-gold) 100%);transition:width .3s ease}.temple-pillar-left:hover:before{width:6px}@media(max-width:768px){:root{--font-size-h1: 2rem;--font-size-h2: 1.75rem;--font-size-h3: 1.5rem;--font-size-h4: 1.25rem}}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;height:80px;border-bottom:1px solid transparent}.header--scrolled{border-bottom-color:#eee;box-shadow:0 2px 8px #0000000a}.header__nav{display:flex;align-items:center;justify-content:space-between;height:100%}.header__logo a{display:flex;align-items:center;gap:.75rem;text-decoration:none}.header__logo-text{font-family:var(--font-heading);font-size:1.35rem;font-weight:800;color:var(--color-brand-primary);letter-spacing:-.5px}.header__logo-tamil{font-family:var(--font-tamil);font-size:1.1rem;font-weight:600;color:var(--color-accent-gold)}.header__menu{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.header__menu-link{display:block;padding:.625rem 1rem;font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:#555;text-decoration:none;text-transform:uppercase;letter-spacing:.5px}.header__menu-link--active{color:var(--color-brand-primary)}.header__language-switcher{margin-left:1rem;padding-left:1rem;border-left:1px solid #eee}.header__language-button{padding:.5rem 1rem;font-family:var(--font-heading);font-size:.8rem;font-weight:700;color:#fff;background:var(--color-brand-primary);border:none;letter-spacing:1px;cursor:pointer}.header__menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;background:none;border:none;cursor:pointer}.header__menu-icon{display:block;width:22px;height:2px;background:var(--color-brand-primary)}.header__menu-toggle--active .header__menu-icon:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.header__menu-toggle--active .header__menu-icon:nth-child(2){opacity:0}.header__menu-toggle--active .header__menu-icon:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.header__menu-toggle{display:flex}.header__menu{position:fixed;inset:80px 0 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:1.5rem 0;visibility:hidden;opacity:0;transform:translate(100%);transition:transform .3s ease,opacity .2s ease,visibility .2s ease;z-index:999}.header__menu--open{visibility:visible;opacity:1;transform:translate(0)}.header__menu li{border-bottom:1px solid #f0f0f0}.header__menu li:last-child{border-bottom:none}.header__menu-link{padding:1.25rem 1.5rem;font-size:.9rem}.header__menu-link--active{background:#fafafa}.header__language-switcher{margin:1.5rem;padding:0;border-left:none}.header__language-button{width:100%;padding:1rem;font-size:.85rem}}@media(min-width:769px)and (max-width:1024px){.header__menu-link{padding:.5rem .75rem;font-size:.8rem}.header__language-button{padding:.4rem .75rem;font-size:.75rem}}.footer{background:#1c1917;color:#fff}.footer__accent-bar{display:flex;height:4px}.footer__accent-bar span{flex:1}.footer__accent-bar span:nth-child(1){background:var(--color-brand-primary)}.footer__accent-bar span:nth-child(2){background:var(--color-accent-gold)}.footer__accent-bar span:nth-child(3){background:var(--color-brand-primary)}.footer__main{padding:4rem 0 3rem}.footer__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem}.footer__brand{display:flex;flex-direction:column;gap:.25rem}.footer__logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.5px}.footer__logo-tamil{font-family:var(--font-tamil);font-size:1rem;color:var(--color-accent-gold);letter-spacing:1px}.footer__nav{display:flex;gap:2.5rem}.footer__nav a{font-size:.9rem;color:#fff9;text-decoration:none;letter-spacing:.5px}.footer__divider{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.footer__divider-line{flex:1;height:1px;background:#ffffff1a}.footer__divider-dot{width:8px;height:8px;background:var(--color-accent-gold);border-radius:50%}.footer__bottom{display:flex;justify-content:space-between;align-items:center}.footer__copyright{font-size:.8rem;color:#fff6;margin:0}.footer__social{display:flex;gap:1rem}.footer__social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#ffffff80;border:1px solid rgba(255,255,255,.15)}.footer__social svg{width:18px;height:18px}.footer__tamil-closing{font-family:var(--font-tamil);font-size:.9rem;color:#ffffff4d;letter-spacing:2px}@media(max-width:768px){.footer__main{padding:3rem 0 2.5rem}.footer__top{flex-direction:column;align-items:center;text-align:center;gap:2rem;margin-bottom:2rem}.footer__brand{align-items:center}.footer__nav{flex-wrap:wrap;justify-content:center;gap:1.25rem 2rem}.footer__bottom{flex-direction:column;gap:1.5rem;text-align:center}.footer__social{order:-1}}@media(max-width:480px){.footer__nav{flex-direction:column;gap:1rem}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}section{scroll-margin-top:80px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-brand-primary);color:var(--color-card-bg);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:100}.skip-link:focus{top:0}#root{max-width:100%;margin:0;padding:0;text-align:left}.page-loader{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:var(--spacing-2xl)}.page-loader__spinner{width:40px;height:40px;border:3px solid var(--color-bg-elevated);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.home-page,.about-page,.events-page,.gallery-page,.contact-page{animation:pageEnter .4s cubic-bezier(.25,.46,.45,.94) forwards}.home-page>*,.about-page>*,.events-page>*,.gallery-page>*,.contact-page>*{animation:pageFadeIn .5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.1s;opacity:0}.home-page>*:nth-child(2),.about-page>*:nth-child(2),.events-page>*:nth-child(2),.gallery-page>*:nth-child(2),.contact-page>*:nth-child(2){animation-delay:.2s}.home-page>*:nth-child(3),.about-page>*:nth-child(3),.events-page>*:nth-child(3),.gallery-page>*:nth-child(3),.contact-page>*:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.home-page,.about-page,.events-page,.gallery-page,.contact-page,.home-page>*,.about-page>*,.events-page>*,.gallery-page>*,.contact-page>*{animation:none;opacity:1;transform:none}}
