*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#FBF7EE;--paper-alt:#F3ECDC;--paper-deep:#EDD9A3;--ink:#181310;--ink-soft:#5C4C40;--ink-faint:#8C7A6A;--red:#C41E22;--red-deep:#750F13;--red-wash:#FBE8E6;--gold:#B98A2E;--gold-bright:#EFB92E;--gold-deep:#7C5A14;--gold-soft:#F6E7BE;--line:rgba(24,19,16,.12);--line-soft:rgba(24,19,16,.07);--shadow:0 40px 90px -30px rgba(117,15,19,.35),0 14px 30px -14px rgba(18,13,9,.28);--shadow-soft:0 22px 50px -24px rgba(117,15,19,.28),0 8px 18px -10px rgba(18,13,9,.18);--shadow-gold:0 22px 46px -18px rgba(185,138,46,.5);--radius:22px;--radius-lg:32px;--radius-sm:14px;--radius-pill:999px;--font-display:'Fraunces',serif;--font-display-ta:'Noto Serif Tamil',serif;--font-body:'Inter',sans-serif;--font-body-ta:'Noto Sans Tamil',sans-serif;--font-mono:'IBM Plex Mono',monospace;--ease:cubic-bezier(.16,.8,.2,1)}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word;word-break:normal}[lang="ta"]{font-family:var(--font-body-ta)}.ta-display{font-family:var(--font-display-ta) !important}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}ul{list-style:none}.container{max-width:1220px;margin:0 auto;padding:0 32px}.hide-mobile{display:block}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.06;letter-spacing:-.012em;color:var(--ink)}html[data-lang="ta"] h1,html[data-lang="ta"] h2,html[data-lang="ta"] h3,html[data-lang="ta"] h4,html[data-lang="ta"] h5{font-family:var(--font-display-ta) !important;font-weight:700;line-height:1.32 !important;letter-spacing:0 !important}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:18px}.eyebrow::before{content:'';width:28px;height:1.5px;background:var(--gold-bright);display:inline-block}.section-head{max-width:660px;margin-bottom:56px}.section-head .eyebrow{margin-bottom:16px}.loc-eyebrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.loc-eyebrow::before{content:'';width:34px;height:2px;background:var(--gold-bright);display:inline-block;flex:none}.loc-eyebrow-name{font-family:var(--font-display);font-style:italic;font-weight:700;font-size:clamp(22px,2.6vw,28px);color:var(--red);letter-spacing:.005em}.loc-eyebrow-tag{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;background:var(--gold-soft);padding:6px 16px;border-radius:30px;border:1px solid rgba(185,138,46,.35)}.section-head h2{font-size:clamp(30px,4vw,48px)}.section-head p{margin-top:18px;color:var(--ink-soft);font-size:16.5px;max-width:580px}.lede{font-size:18.5px;color:var(--ink-soft);max-width:640px;font-weight:400}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;padding:16px 28px;border-radius:var(--radius);transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s;white-space:nowrap;position:relative;overflow:hidden}@media(max-width:640px){.btn{white-space:normal;text-align:center;justify-content:center;line-height:1.4}}.btn:active{transform:scale(.96);transition:transform .1s ease}.service-card:active,.project-showcase-card:active,.gallery-item:active,.faq-question:active,.copy-btn:active,.footer-social-link:active,.mp-goal:active{transform:scale(.97);transition:transform .12s ease}.nav-link:active,.footer-col a:active{opacity:.6;transition:opacity .1s ease}.btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);opacity:.7;pointer-events:none;animation:btnRippleOut .65s ease-out forwards}@keyframes btnRippleOut{to{transform:scale(1);opacity:0}}@media(hover:none) and (pointer:coarse){.btn:active{transform:scale(.96);transition:transform .12s ease}.service-card:active,.project-showcase-card:active,.gallery-item:active,.initiative-card:active{transform:scale(.98);transition:transform .12s ease}}.btn-primary{background:var(--red);color:var(--paper);box-shadow:0 16px 34px -16px rgba(196,30,34,.7)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px -16px rgba(196,30,34,.8)}.btn-ghost{border:1.4px solid var(--ink);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}.btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:var(--ink);box-shadow:0 16px 32px -16px rgba(185,138,46,.75)}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 38px -14px rgba(185,138,46,.85)}.btn-light{border:1.4px solid rgba(251,247,238,.5);color:var(--paper)}.btn-light:hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)}.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px}a.btn,button.btn{cursor:pointer}.lang-toggle{border-radius:999px;padding:0;flex-shrink:0}.lang-toggle-track{position:relative;display:inline-flex;align-items:center;width:98px;height:38px;border-radius:999px;background:var(--paper-deep);border:1.4px solid var(--line);padding:3px;box-shadow:inset 0 1px 3px rgba(24,19,16,.1);transition:background .35s ease,border-color .35s ease}.lang-toggle-thumb{position:absolute;top:3px;left:3px;width:47px;height:30px;border-radius:999px;background:linear-gradient(135deg,var(--red),var(--red-deep));box-shadow:0 6px 14px -6px rgba(196,30,34,.6);transition:transform .4s var(--ease),background .4s ease}html[data-lang="ta"] .lang-toggle-thumb{transform:translateX(46px);background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));box-shadow:0 6px 14px -6px rgba(185,138,46,.6)}.lang-opt{position:relative;z-index:1;flex:1;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--ink-faint);transition:color .35s ease;pointer-events:none}.lang-opt-ta{font-family:var(--font-body-ta);font-size:12.5px}html:not([data-lang="ta"]) .lang-opt-en{color:var(--paper)}html[data-lang="ta"] .lang-opt-ta{color:var(--ink)}.lang-toggle:hover .lang-toggle-track{border-color:var(--gold-bright)}html[data-lang="ta"] .i18n-en{display:none !important}[data-i18n]{transition:opacity .18s ease}.i18n-fade{opacity:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(251,247,238,0);backdrop-filter:blur(0px);border-bottom:1px solid transparent;transition:background .5s var(--ease),backdrop-filter .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}.site-header.scrolled{background:rgba(251,247,238,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px -18px rgba(18,13,9,.3)}.nav-inner{max-width:1220px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-icon{width:40px;height:40px;object-fit:cover;border-radius:50%;overflow:hidden;flex:none;background:var(--paper);box-shadow:0 2px 10px rgba(0,0,0,.3);animation:logoFloat 6s ease-in-out infinite}@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.brand-text{display:flex;flex-direction:column;line-height:1;gap:5px}.brand-mark{font-family:var(--font-display);font-size:23px;font-weight:700;letter-spacing:.01em;white-space:nowrap;color:var(--paper);transition:color .5s var(--ease)}.brand-mark .dot{color:var(--red)}.brand-sub{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.3em;color:rgba(251,247,238,.7);white-space:nowrap;transition:color .5s var(--ease)}.nav-links{display:flex;align-items:center;gap:4px;position:relative}.nav-link{position:relative;padding:10px 17px;font-family:var(--font-display);font-size:15.5px;font-weight:600;letter-spacing:.01em;color:rgba(251,247,238,.88);transition:color .4s var(--ease),transform .3s var(--ease)}.nav-link:hover{color:var(--paper);transform:translateY(-1px)}.nav-link.active{color:var(--paper)}.nav-indicator{position:absolute;bottom:5px;height:2px;left:0;width:0;background:linear-gradient(90deg,var(--red),var(--gold-bright));border-radius:2px;opacity:0;pointer-events:none;transition:left .45s cubic-bezier(.65,0,.35,1),width .45s cubic-bezier(.65,0,.35,1),opacity .3s ease}.nav-links:hover .nav-indicator,.nav-indicator.visible{opacity:1}.nav-cta{margin-left:8px}.menu-toggle{display:none;flex-direction:column;gap:5px;width:26px;flex-shrink:0}.menu-toggle span{height:2px;background:var(--paper);border-radius:2px;transition:all .3s,background .5s var(--ease)}.mobile-menu{display:none;flex-direction:column;gap:2px;max-height:0;overflow:hidden;transition:max-height .4s ease;background:var(--paper);border-top:0 solid var(--line)}.mobile-menu.open{max-height:460px;border-top-width:1px}.mobile-menu a{padding:18px 32px;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.005em;border-bottom:1px solid var(--line);color:var(--ink)}.mobile-menu .btn{margin:18px 32px;justify-content:center}.site-header.scrolled .brand-mark{color:var(--ink)}.site-header.scrolled .brand-sub{color:var(--ink-faint)}.site-header.scrolled .nav-link{color:var(--ink-soft)}.site-header.scrolled .nav-link:hover,.site-header.scrolled .nav-link.active{color:var(--ink)}.site-header.scrolled .menu-toggle span{background:var(--ink)}.site-header.on-light-hero:not(.scrolled) .brand-mark{color:var(--ink)}.site-header.on-light-hero:not(.scrolled) .brand-sub{color:var(--ink-faint)}.site-header.on-light-hero:not(.scrolled) .nav-link{color:var(--ink-soft)}.site-header.on-light-hero:not(.scrolled) .nav-link:hover,.site-header.on-light-hero:not(.scrolled) .nav-link.active{color:var(--ink)}.site-header.on-light-hero:not(.scrolled) .menu-toggle span{background:var(--ink)}.page{display:none}body:not(:has(.page.active)) #home{display:block}.page.active{display:block;animation:pageIn .6s var(--ease)}@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.section-head h2{clip-path:inset(0 100% 0 -10%);transition:clip-path 1s cubic-bezier(.16,.8,.2,1) .1s}.reveal.is-visible .section-head h2,.section-head.reveal.is-visible h2{clip-path:inset(0 -10% 0 -10%)}.hero{position:relative;padding:172px 0 124px;overflow:hidden;background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 35%,#8a4a1f 70%,var(--red) 100%);background-size:220% 220%;animation:sunriseDrift 32s ease-in-out infinite;color:var(--paper)}@keyframes sunriseDrift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.hero::before{content:'';position:absolute;inset:0;opacity:.14;background-image:repeating-linear-gradient(0deg,rgba(251,247,238,.5) 0 1px,transparent 1px 64px),repeating-linear-gradient(90deg,rgba(251,247,238,.5) 0 1px,transparent 1px 64px)}.hero::after{content:'';position:absolute;right:-200px;top:-200px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(239,185,46,.45),transparent 70%);animation:goldDrift 20s ease-in-out infinite}.hero-inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}.hero-inner>div{min-width:0}.hero .eyebrow{color:var(--gold-bright)}.hero .eyebrow::before{background:var(--red)}.hero h1{font-size:clamp(42px,6.4vw,72px);color:var(--paper)}.hero h1 em{font-style:italic;font-weight:500;color:var(--gold-bright)}.hero.hero-home h1{font-size:clamp(64px,10.5vw,132px);line-height:.9;letter-spacing:-.008em}.hero-home h1 .htop{display:block;font-weight:700;color:var(--paper);text-shadow:0 6px 30px rgba(0,0,0,.35);opacity:0;transform:translateY(28px);filter:blur(14px);animation:htitleInTop 1.1s var(--ease) .2s forwards}.hero-home h1 .hbot{display:block;font-style:italic;font-weight:500;margin-top:.06em;background:linear-gradient(100deg,var(--gold-bright) 20%,#fff6d8 50%,var(--gold-bright) 80%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translateY(28px);filter:blur(14px) drop-shadow(0 4px 22px rgba(185,138,46,.35));animation:htitleInBot 1.1s var(--ease) .42s forwards,htitleShine 4.5s ease-in-out 1.6s infinite}@keyframes htitleInTop{to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes htitleInBot{to{opacity:1;transform:translateY(0);filter:blur(0) drop-shadow(0 4px 22px rgba(185,138,46,.35))}}@keyframes htitleShine{0%,100%{background-position:200% center}50%{background-position:0% center}}.hero-home .htitle-rule{width:84px;height:3px;margin-top:30px;border-radius:3px;background:linear-gradient(90deg,var(--gold-bright),var(--red));box-shadow:0 4px 16px -4px rgba(185,138,46,.6);transform:scaleX(0);transform-origin:left;animation:htitleRuleIn .8s var(--ease) .85s forwards}@keyframes htitleRuleIn{to{transform:scaleX(1)}}@media(max-width:640px){.hero.hero-home h1{font-size:clamp(46px,15vw,68px);line-height:.92}.hero-home .htitle-rule{margin-top:20px;width:60px;height:2.5px}}html[data-lang="ta"] .hero.hero-home h1{font-size:clamp(24px,4vw,46px);font-family:var(--font-display-ta);letter-spacing:0}@media(max-width:640px){html[data-lang="ta"] .hero.hero-home h1{font-size:clamp(23px,7.3vw,34px);line-height:1.15}}.hero .ta-line{font-family:var(--font-display-ta);font-size:clamp(22px,2.6vw,30px);margin-top:16px;color:rgba(251,247,238,.92)}.hero p.lede{color:rgba(251,247,238,.74);margin-top:24px}@media(max-width:640px){.hero h1{font-size:clamp(30px,8.6vw,54px)}.hero h1 br.brk{display:none}}html[data-lang="ta"] .hero h1{font-size:clamp(32px,5.6vw,62px)}@media(max-width:640px){html[data-lang="ta"] .hero h1{font-size:clamp(23px,7.4vw,40px)}}.hero-home{min-height:100vh;display:flex;align-items:center;padding:150px 0 0;position:relative;overflow:hidden;background:var(--red-deep)}.hero-bg-parallax{position:absolute;left:0;right:0;top:-12%;bottom:-12%;z-index:0;background-image:linear-gradient(100deg,rgba(10,8,7,.94) 0%,rgba(10,8,7,.86) 28%,rgba(10,8,7,.56) 56%,rgba(10,8,7,.24) 76%,rgba(10,8,7,.08) 100%),linear-gradient(0deg,rgba(10,8,7,.7) 0%,rgba(10,8,7,0) 34%),var(--hero-img);background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform,filter,opacity;animation:hpbFocusPull 1.3s ease-out;opacity:0;transition:opacity .45s ease}.hero-bg-parallax.bg-ready{opacity:1}@keyframes hpbFocusPull{from{filter:blur(16px)}to{filter:blur(0)}}@media(max-width:640px){.hero-bg-parallax{display:none}}.hero-home::before{display:none}.hero-home::after{opacity:.55;z-index:1}.hero-home .hero-inner{grid-template-columns:1fr}.hero-home .hero-inner>div{max-width:660px}.hero-photo-band{display:none}@media(max-width:640px){.hero-home{min-height:auto;padding:0;background-image:none;background-color:var(--red-deep);display:block}.hero-photo-band{display:block;position:relative;width:100%;overflow:hidden;height:48vh;min-height:260px;max-height:380px;background:var(--red-deep);border-radius:0 0 36px 36px;box-shadow:0 28px 56px -22px rgba(0,0,0,.65)}.hero-photo-band .hpb-img{position:absolute;inset:0;z-index:1;background-image:var(--hero-img);background-size:cover;background-position:center 40%;background-repeat:no-repeat;animation:heroKenBurns 18s ease-in-out infinite alternate,hpbFocusPull 1.2s ease-out;will-change:transform,filter,opacity;opacity:0;transition:opacity .45s ease}.hero-photo-band .hpb-img.bg-ready{opacity:1}@keyframes heroKenBurns{from{transform:scale(1)}to{transform:scale(1.09)}}.hero-photo-band .hpb-wash{position:absolute;inset:0;z-index:2;background-image:linear-gradient(180deg,rgba(90,12,15,.55) 0%,rgba(10,8,7,.06) 26%,rgba(10,8,7,.14) 54%,rgba(10,8,7,.5) 78%,rgba(10,8,7,.93) 100%)}.hero-photo-band .hpb-frame{position:absolute;inset:10px;z-index:3;border-radius:0 0 28px 28px;border:1px solid rgba(239,185,46,.35);pointer-events:none}.hero-photo-band .hpb-brand{position:absolute;left:0;right:0;bottom:22px;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-photo-band .hpb-logo{width:42px;height:42px;border-radius:50%;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.45);border:1.5px solid rgba(251,247,238,.6);margin-bottom:10px}.hero-photo-band .hpb-word{font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:.03em;color:var(--paper);text-shadow:0 3px 16px rgba(0,0,0,.6);line-height:1}.hero-photo-band .hpb-word .dot{color:var(--gold-bright)}.hero-photo-band .hpb-rule{width:34px;height:1.5px;background:var(--gold-bright);margin:9px 0;opacity:.9}.hero-photo-band .hpb-sub{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(251,247,238,.88);text-shadow:0 2px 8px rgba(0,0,0,.5)}.hero-photo-band .hpb-tagline{font-family:var(--font-display);font-style:italic;font-size:13px;font-weight:500;color:var(--gold-bright);margin-top:6px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.hero-home .hero-inner{padding-top:36px;padding-bottom:52px}}@media(max-width:640px) and (prefers-reduced-motion:reduce){.hero-photo-band .hpb-img{animation:none}}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.quick-card{background:var(--paper);padding:42px 32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:background .4s,transform .4s var(--ease),box-shadow .4s var(--ease);position:relative;overflow:hidden}.quick-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--red),var(--gold-bright));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.quick-card:hover{background:var(--paper-alt);transform:translateY(-6px);box-shadow:var(--shadow)}.quick-card:hover::before{transform:scaleX(1)}.quick-card .qc-top{display:flex;align-items:center;justify-content:space-between}.quick-card .qc-icon{width:46px;height:46px;padding:12px;box-sizing:border-box;border-radius:50%;background:var(--paper-alt);border:1px solid var(--line);color:var(--red);stroke-width:1.6;transition:background .35s,border-color .35s,color .35s}.quick-card:hover .qc-icon{background:var(--gold-soft);border-color:var(--gold-bright);color:var(--gold-deep)}.quick-card .qc-index{font-family:var(--font-display);font-style:italic;font-size:15px;color:var(--gold-deep)}.quick-card h3{font-size:22px;margin-top:16px}.quick-card p{margin-top:12px;font-size:14.5px;color:var(--ink-soft)}.quick-card .qc-arrow{margin-top:22px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--red);display:inline-flex;align-items:center;gap:6px;transition:gap .3s}.quick-card:hover .qc-arrow{gap:11px}.marquee-band{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 55%,#8a4a1f 100%);color:var(--paper);padding:24px 0;overflow:hidden;border-top:1px solid rgba(251,247,238,.08);border-bottom:1px solid rgba(251,247,238,.08);position:relative}.marquee-band::before,.marquee-band::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.marquee-band::before{left:0;background:linear-gradient(90deg,var(--red-deep),rgba(117,15,19,0))}.marquee-band::after{right:0;background:linear-gradient(270deg,#8a4a1f,rgba(138,74,31,0))}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee-track span{font-family:var(--font-display);font-style:italic;font-size:22px;padding:0 30px;white-space:nowrap;color:var(--paper);opacity:.92}.marquee-track span.dot{color:var(--gold-bright);font-style:normal}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.cta-band{position:relative;padding:100px 0;text-align:center;overflow:hidden;background:linear-gradient(125deg,var(--red-deep),var(--red) 52%,var(--ink));color:var(--paper)}.cta-band.with-photo{background-image:linear-gradient(125deg,rgba(117,15,19,.9),rgba(196,30,34,.72) 45%,rgba(24,19,16,.94)),var(--cta-img);background-size:cover;background-position:center 30%;background-repeat:no-repeat}.cta-band::before{content:'';position:absolute;inset:0;opacity:.12;background-image:repeating-linear-gradient(45deg,rgba(251,247,238,.5) 0 1px,transparent 1px 46px)}.cta-band .divider-gold{margin-left:auto;margin-right:auto;background:var(--gold-bright)}.cta-band h2{color:var(--paper);font-size:clamp(30px,4.4vw,50px);position:relative}.cta-band .ta-line{font-family:var(--font-display-ta);font-size:clamp(19px,2.2vw,24px);margin-top:14px;color:var(--gold-soft);position:relative}.cta-band .btn-row{justify-content:center;position:relative}.cta-band .cta-logo{width:72px;height:72px;object-fit:cover;border-radius:50%;margin:0 auto 22px;display:block;position:relative;background:var(--paper);box-shadow:0 10px 28px -8px rgba(0,0,0,.55),0 0 0 4px rgba(251,247,238,.18)}.section{padding:112px 0;position:relative}.section-alt{background:var(--paper-alt)}.perforated-top{position:relative}.perforated-top::before{content:'';position:absolute;top:-1px;left:0;right:0;height:18px;z-index:1;background-image:radial-gradient(circle at 9px 9px,var(--paper) 8px,transparent 8.6px);background-size:18px 18px;background-repeat:repeat-x}.section-alt.perforated-top::before{background-image:radial-gradient(circle at 9px 9px,var(--paper-alt) 8px,transparent 8.6px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.two-col h3{font-size:25px;margin-bottom:14px}.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.vm-card{padding:52px 44px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.vm-card-vision{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.vm-card-mission{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 55%,#8a4a1f 100%);color:var(--paper);box-shadow:var(--shadow)}.vm-card-mission::after{content:'';position:absolute;right:-100px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(185,138,46,.25),transparent 70%);animation:goldDrift 14s ease-in-out infinite}.vm-icon{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:26px;position:relative}.vm-card-vision .vm-icon{background:var(--gold-soft);border:1.5px solid var(--gold-bright);color:var(--gold-deep)}.vm-card-mission .vm-icon{background:rgba(239,185,46,.14);border:1.5px solid rgba(239,185,46,.4);color:var(--gold-bright)}.vm-icon svg{width:28px;height:28px}.vm-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;display:block;font-weight:600}.vm-card-vision .vm-eyebrow{color:var(--red)}.vm-card-mission .vm-eyebrow{color:var(--gold-bright)}.vm-card h3{font-size:clamp(28px,3.2vw,36px);margin-bottom:6px;position:relative}.vm-card-mission h3{color:var(--paper)}.vm-card .ta-line{font-family:var(--font-display-ta);font-size:17px;margin-bottom:14px;position:relative}.vm-card-vision .ta-line{color:var(--ink-soft)}.vm-card-mission .ta-line{color:var(--gold-soft)}.vm-card p{font-size:16px;line-height:1.85;margin-top:14px;position:relative}.vm-card-vision p{color:var(--ink-soft)}.vm-card-mission p{color:rgba(251,247,238,.78)}.vm-list{margin-top:22px;display:grid;gap:15px;position:relative}.vm-list li{display:flex;align-items:flex-start;gap:13px;font-size:15.5px}.vm-list .chk{width:24px;height:24px;border-radius:50%;background:rgba(239,185,46,.16);border:1.5px solid var(--gold-bright);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}.vm-list .chk svg{width:13px;height:13px}@media(max-width:760px){.vm-grid{grid-template-columns:1fr}.vm-card{padding:40px 30px}}.vm-grid .vm-card-vision.reveal{transition:none;opacity:0;transform:rotate(-3deg) translateY(24px)}.vm-grid .vm-card-mission.reveal{transition:none;opacity:0;transform:rotate(3deg) translateY(24px)}.vm-grid .vm-card-vision.reveal.is-visible{animation:tiltSettleLeft .9s cubic-bezier(.2,.7,.3,1) forwards}.vm-grid .vm-card-mission.reveal.is-visible{animation:tiltSettleRight .9s cubic-bezier(.2,.7,.3,1) .15s forwards}@keyframes tiltSettleLeft{0%{opacity:0;transform:rotate(-3deg) translateY(24px)}100%{opacity:1;transform:rotate(0deg) translateY(0)}}@keyframes tiltSettleRight{0%{opacity:0;transform:rotate(3deg) translateY(24px)}100%{opacity:1;transform:rotate(0deg) translateY(0)}}.vm-card-vision .vm-icon svg{opacity:0;transform-origin:center;transform:rotate(-160deg) scale(.7)}.vm-card-vision.is-visible .vm-icon svg{animation:compassSettle 1.1s cubic-bezier(.2,.75,.25,1) .35s forwards}@keyframes compassSettle{0%{opacity:0;transform:rotate(-160deg) scale(.7)}60%{opacity:1}100%{opacity:1;transform:rotate(0deg) scale(1)}}.vm-card-mission .vm-icon svg circle{opacity:0;transform-origin:12px 12px;transform:scale(0)}.vm-card-mission.is-visible .vm-icon svg circle:nth-child(1){animation:ringLock .5s ease-out .45s forwards}.vm-card-mission.is-visible .vm-icon svg circle:nth-child(2){animation:ringLock .5s ease-out .68s forwards}.vm-card-mission.is-visible .vm-icon svg circle:nth-child(3){animation:ringLock .4s ease-out .9s forwards,dotPulseGlow 1.2s ease-out 1.3s}@keyframes ringLock{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}@keyframes dotPulseGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(239,185,46,0))}50%{filter:drop-shadow(0 0 6px rgba(239,185,46,.9))}}.vm-list li{opacity:0;transform:translateX(-16px)}.vm-list .chk svg path{stroke-dasharray:100;stroke-dashoffset:100}.vm-card-mission.is-visible .vm-list li:nth-child(1){animation:itemSlideIn .5s ease-out .5s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(2){animation:itemSlideIn .5s ease-out .65s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(3){animation:itemSlideIn .5s ease-out .8s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(4){animation:itemSlideIn .5s ease-out .95s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(5){animation:itemSlideIn .5s ease-out 1.1s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(6){animation:itemSlideIn .5s ease-out 1.25s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(1) .chk svg path{animation:checkDraw .4s ease-out .7s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(2) .chk svg path{animation:checkDraw .4s ease-out .85s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(3) .chk svg path{animation:checkDraw .4s ease-out 1s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(4) .chk svg path{animation:checkDraw .4s ease-out 1.15s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(5) .chk svg path{animation:checkDraw .4s ease-out 1.3s forwards}.vm-card-mission.is-visible .vm-list li:nth-child(6) .chk svg path{animation:checkDraw .4s ease-out 1.45s forwards}@keyframes itemSlideIn{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes checkDraw{to{stroke-dashoffset:0}}.vm-card-mission.is-visible::after{animation:goldDrift 14s ease-in-out infinite,blobBrightenSync 1.8s ease-out .5s 1}@keyframes blobBrightenSync{0%{filter:brightness(1)}45%{filter:brightness(1.8)}100%{filter:brightness(1)}}.two-col p{color:var(--ink-soft)}.divider-gold{width:48px;height:3px;background:var(--gold-bright);margin:24px 0}.drop-cap::first-letter{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:3.4em;line-height:.78;float:left;margin:.03em .1em 0 0;color:var(--red)}.chip-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:8px}.chip{border:1px solid var(--line);padding:11px 20px;border-radius:40px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);transition:border-color .3s,transform .3s}.chip:hover{border-color:var(--gold-bright);transform:translateY(-2px)}.chip .dot{color:var(--red);margin-right:7px}.initiative-card{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 55%,#8a4a1f 100%);color:var(--paper);padding:60px;display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center;position:relative;overflow:hidden}.initiative-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));pointer-events:none}.initiative-card::after{content:'';position:absolute;right:-140px;bottom:-140px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(239,185,46,.4),transparent 70%);animation:goldDrift 18s ease-in-out infinite;pointer-events:none}.initiative-card h3{color:var(--paper);font-size:27px;position:relative}.initiative-card .ta-line{font-family:var(--font-display-ta);color:var(--gold-soft);font-size:17px;margin-bottom:10px;position:relative}.initiative-card p{color:rgba(251,247,238,.76);margin-top:16px;max-width:560px;position:relative}.mp-goal{display:inline-flex;align-items:center;gap:20px;margin-top:32px;padding:22px 32px;border:1.5px solid var(--gold-bright);border-radius:var(--radius-lg);background:linear-gradient(125deg,var(--red-deep) 0%,var(--red) 55%,var(--gold-bright) 130%);box-shadow:0 18px 34px -18px rgba(117,15,19,.5)}.mp-goal-num{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,4vw,44px);color:var(--paper);line-height:1}.mp-goal-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#3a1006;font-weight:700}.mp-goal-desc{font-family:var(--font-display);font-size:16px;color:var(--paper);margin-top:3px}@media(max-width:520px){.mp-goal{padding:18px 22px;gap:14px}}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{background:var(--paper);padding:48px 38px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:transform .4s var(--ease),box-shadow .4s var(--ease);position:relative}.service-card::after{content:'';position:absolute;left:14%;right:14%;bottom:-16px;height:24px;z-index:-1;background:radial-gradient(ellipse at center,rgba(20,14,10,.32),transparent 72%);opacity:0;transform:scaleX(.75) translateY(2px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}.service-card:hover{transform:translateY(-11px);box-shadow:0 12px 22px -14px rgba(18,13,9,.3),0 32px 52px -22px rgba(18,13,9,.35),0 64px 92px -32px rgba(18,13,9,.28);z-index:2;background:var(--paper)}.service-card:hover::after{opacity:1;transform:scaleX(1) translateY(12px)}.service-icon{width:52px;height:52px;padding:14px;box-sizing:border-box;border-radius:50%;background:var(--paper-alt);border:1px solid var(--line);color:var(--red);stroke-width:1.6;transition:background .35s,border-color .35s,color .35s}.service-card:hover .service-icon{background:var(--gold-soft);border-color:var(--gold-bright);color:var(--gold-deep)}.service-card h3{font-size:19px;margin-top:22px}.service-card .ta-line{font-family:var(--font-display-ta);font-size:15px;color:var(--ink-soft);margin-top:6px}.service-card p{margin-top:13px;font-size:14px;color:var(--ink-soft)}#makkalpani .service-grid{display:flex;flex-wrap:wrap;justify-content:center}#makkalpani .service-grid .service-card{flex:1 1 300px;max-width:373px}.process-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--paper);position:relative}.process-road{position:absolute;top:-2px;left:0;width:100%;height:4px;overflow:visible;pointer-events:none;z-index:1}.process-road line{stroke:var(--gold-bright);stroke-width:2.4;stroke-linecap:round;fill:none;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 4px rgba(239,185,46,.6))}.process-strip.is-visible .process-road line{animation:roadDraw 1.8s ease-out .2s forwards}@keyframes roadDraw{to{stroke-dashoffset:0}}.process-step{padding:42px 32px;border-right:1px solid var(--line);position:relative;transition:background .5s var(--ease),transform .5s var(--ease)}.process-step.step-active{background:var(--paper-alt);transform:translateY(-4px)}.process-step.step-active .process-num{color:var(--red)}.process-step:last-child{border-right:none}.process-num{font-family:var(--font-display);font-style:italic;font-size:38px;color:var(--gold);font-weight:600}.process-step h4{font-size:16.5px;margin-top:12px}.process-step .ta-line{font-family:var(--font-display-ta);font-size:14.5px;color:var(--ink-soft);margin-top:5px}.process-arrow{position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--red);font-size:18px;z-index:2;display:none}.enquiry-card{background:var(--paper);border:1.5px dashed var(--ink-faint);padding:56px;position:relative}.enquiry-card::before,.enquiry-card::after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--paper-alt);border:1.5px dashed var(--ink-faint);top:50%;transform:translateY(-50%)}.enquiry-card::before{left:-10px}.enquiry-card::after{right:-10px}.enquiry-list{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.enquiry-list li{padding-left:24px;position:relative;font-size:14.5px;color:var(--ink-soft)}.enquiry-list li::before{content:'✓';position:absolute;left:0;color:var(--gold-deep);font-weight:700}.project-hero{position:relative;padding:170px 0 90px;overflow:hidden;background:var(--ink);color:var(--paper);background-image:linear-gradient(120deg,rgba(10,8,7,.95),rgba(10,8,7,.86) 45%,rgba(120,20,20,.5)),var(--gate-img);background-size:cover;background-position:center 30%}.project-hero .ribbon{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:40px;background:rgba(251,247,238,.1);border:1px solid rgba(251,247,238,.28);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:22px}.project-hero .blink{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(196,30,34,.7);animation:blinkPulse 1.8s infinite}@keyframes blinkPulse{0%{box-shadow:0 0 0 0 rgba(196,30,34,.6)}70%{box-shadow:0 0 0 10px rgba(196,30,34,0)}100%{box-shadow:0 0 0 0 rgba(196,30,34,0)}}.project-hero h1{font-size:clamp(36px,5.6vw,58px);color:var(--paper)}.project-hero .lede{color:rgba(251,247,238,.76);margin-top:22px}.meta-row{display:flex;gap:0;margin-top:40px;border:1px solid rgba(251,247,238,.22);border-radius:var(--radius-lg);overflow:hidden;max-width:640px}.meta-item{flex:1;padding:20px 24px;border-right:1px solid rgba(251,247,238,.22)}.meta-item:last-child{border-right:none}.meta-item .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(251,247,238,.55)}.meta-item .v{font-family:var(--font-display);font-size:17px;margin-top:6px;color:var(--gold-bright)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.feature-item{background:var(--paper);display:flex;align-items:center;gap:16px;padding:22px 26px;transition:background .3s}.feature-item:hover{background:var(--paper-alt)}.fi-seal{width:34px;height:34px;border-radius:50%;background:var(--red);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;font-weight:700}.fi-text .en{font-size:14.5px;font-weight:600}.fi-text .ta{font-family:var(--font-body-ta);font-size:12.5px;color:var(--ink-soft);margin-top:2px}.doc-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.doc-stamp{display:flex;align-items:center;gap:11px;padding:14px 22px;border:1.5px solid var(--gold-bright);border-radius:40px;background:var(--paper);font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;color:var(--ink);box-shadow:var(--shadow-soft)}.doc-stamp svg{width:19px;height:19px;color:var(--gold-deep);flex:none}.amenity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px}.amenity{background:var(--paper);padding:32px 20px;text-align:center;transition:background .3s}.amenity:hover{background:var(--paper-alt)}.amenity svg{width:28px;height:28px;color:var(--red);margin:0 auto 14px}.amenity .en{font-size:13.5px;font-weight:600}.amenity .ta{font-family:var(--font-body-ta);font-size:12px;color:var(--ink-soft);margin-top:2px}.amenity-note{margin-top:20px;font-size:13.5px;color:var(--ink-faint);font-family:var(--font-mono)}@media(max-width:760px){.amenity-grid{grid-template-columns:repeat(3,1fr)}}.pipeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}.pipeline-card{border:1.5px dashed var(--ink-faint);padding:36px 28px;text-align:center}.pipeline-card .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}.pipeline-card h4{margin-top:12px;font-size:18px;color:var(--ink-faint)}.pipeline-card p{margin-top:8px;font-size:13px;color:var(--ink-faint)}.project-showcase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:8px}.project-showcase-grid.featured-grid{grid-template-columns:repeat(3,1fr)}.project-showcase-grid.featured-grid .project-showcase-card{position:relative;border-color:transparent;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s}.project-showcase-grid.featured-grid .project-showcase-card:hover{animation:marigoldShimmer 2.4s linear infinite}@keyframes marigoldShimmer{0%,100%{border-color:var(--gold-bright);box-shadow:0 0 0 0 rgba(239,185,46,.35)}50%{border-color:var(--gold-deep);box-shadow:0 0 20px 3px rgba(239,185,46,.5)}}.project-showcase-grid.featured-grid .project-showcase-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:2;background:linear-gradient(90deg,var(--red),var(--gold-bright));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.project-showcase-grid.featured-grid .project-showcase-card:hover::before{transform:scaleX(1)}@media(max-width:900px){.project-showcase-grid.featured-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.project-showcase-grid{grid-template-columns:1fr}.project-showcase-grid.featured-grid{grid-template-columns:1fr}}.project-showcase-card{background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.project-showcase-card:hover{transform:translateY(-11px);box-shadow:0 12px 22px -14px rgba(18,13,9,.3),0 32px 52px -22px rgba(18,13,9,.35),0 64px 92px -32px rgba(18,13,9,.28)}.project-showcase-media{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--paper-deep);position:relative}.project-showcase-media::before,.gallery-item::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,var(--paper-deep) 8%,var(--paper-alt) 18%,var(--paper-deep) 33%);background-size:200% 100%;animation:shimmerSweep 1.8s linear infinite}@keyframes shimmerSweep{0%{background-position:200% 0}100%{background-position:-200% 0}}.project-showcase-media img,.gallery-item img{position:relative;z-index:1}.project-showcase-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 2.2s cubic-bezier(.16,.6,.15,1)}.project-showcase-card:hover .project-showcase-media img{transform:scale(1.14) translate(-1%,-1%)}.project-showcase-body{padding:28px 30px 32px}.project-showcase-card .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);background:var(--gold-soft);padding:5px 12px;border-radius:30px;margin-bottom:14px;display:inline-block}@keyframes badgePopIn{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.project-showcase-card .tag,.doc-stamp,.chip{animation:badgePopIn .55s cubic-bezier(.34,1.56,.64,1) both}.tag-launching{position:relative;overflow:hidden;font-family:var(--font-mono);font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--paper);background:linear-gradient(135deg,var(--red),var(--red-deep));padding:9px 20px;border-radius:30px;margin-bottom:16px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 10px 24px -10px rgba(196,30,34,.7);animation:badgePopIn .55s cubic-bezier(.34,1.56,.64,1) both,tagBreathe 2.4s ease-in-out .55s infinite}.tag-launching::after{content:'';position:absolute;top:0;left:-75%;width:45%;height:100%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skewX(-22deg);animation:tagShimmer 2.8s ease-in-out infinite}@keyframes tagShimmer{0%,15%{left:-75%}55%,100%{left:135%}}@keyframes tagBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}.tag-launching .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-bright);flex:none;box-shadow:0 0 0 0 rgba(239,185,46,.7);animation:tagPulse 1.6s infinite;position:relative;z-index:1}.tag-launching .tag-text{position:relative;z-index:1}@keyframes tagPulse{0%{box-shadow:0 0 0 0 rgba(239,185,46,.65)}70%{box-shadow:0 0 0 9px rgba(239,185,46,0)}100%{box-shadow:0 0 0 0 rgba(239,185,46,0)}}.project-showcase-card h4{font-size:20px;margin-bottom:10px}.project-showcase-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.75}.gateway-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin-top:8px}.gateway-media{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.gateway-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.gateway-media:hover img{transform:scale(1.05)}.gateway-media.tall{aspect-ratio:3/4}.gateway-media.wide{aspect-ratio:16/11}.gateway-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:linear-gradient(180deg,rgba(24,19,16,0),rgba(24,19,16,.85));color:var(--paper)}.gateway-caption .gt{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright)}.gateway-caption .gh{font-family:var(--font-display);font-size:19px;margin-top:4px}@media(max-width:820px){.gateway-grid{grid-template-columns:1fr}.gateway-media.tall{aspect-ratio:16/11}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}.gallery-item{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:var(--radius)}.gallery-item::after{content:'';position:absolute;inset:10px;pointer-events:none;z-index:2;opacity:0;transition:opacity .4s var(--ease);background-image:linear-gradient(to right,var(--gold-bright) 2px,transparent 2px),linear-gradient(to bottom,var(--gold-bright) 2px,transparent 2px),linear-gradient(to left,var(--gold-bright) 2px,transparent 2px),linear-gradient(to bottom,var(--gold-bright) 2px,transparent 2px),linear-gradient(to left,var(--gold-bright) 2px,transparent 2px),linear-gradient(to top,var(--gold-bright) 2px,transparent 2px),linear-gradient(to right,var(--gold-bright) 2px,transparent 2px),linear-gradient(to top,var(--gold-bright) 2px,transparent 2px);background-repeat:no-repeat;background-size:24px 24px;background-position:top left,top left,top right,top right,bottom right,bottom right,bottom left,bottom left}.gallery-item:hover::after{opacity:1}.gallery-grid>.gallery-item:last-child:nth-child(3n+1){grid-column:1 / -1;aspect-ratio:3/1}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 2.4s cubic-bezier(.16,.6,.15,1)}.gallery-item:hover img{transform:scale(1.16) translate(1%,-1%)}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(180deg,rgba(24,19,16,0),rgba(24,19,16,.85));color:var(--paper);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase}@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}.legal-hero{padding:158px 0 56px;background:var(--paper-alt);position:relative}.legal-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold-bright))}.legal-draft-note{display:flex;gap:14px;align-items:flex-start;background:var(--gold-soft);border:1px solid rgba(185,138,46,.4);border-radius:var(--radius);padding:20px 22px;margin-top:28px;max-width:760px}.legal-draft-note svg{width:20px;height:20px;color:var(--gold-deep);flex:none;margin-top:2px}.legal-draft-note p{font-size:13.5px;color:var(--ink-soft);line-height:1.7}.legal-draft-note strong{color:var(--ink)}.legal-jump-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.legal-jump-nav button{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:12px 20px;border:1.4px solid var(--ink);border-radius:40px;color:var(--ink);background:transparent;transition:background .3s,color .3s;cursor:pointer}.legal-jump-nav button:hover{background:var(--ink);color:var(--paper)}.legal-section{padding:64px 0;border-bottom:1px solid var(--line)}.legal-section:last-of-type{border-bottom:none}.legal-section-head{max-width:720px;margin-bottom:34px}.legal-section-head .legal-num{font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--gold-deep)}.legal-section-head h2{font-size:clamp(26px,3vw,36px);margin-top:8px}.legal-body{max-width:760px}.legal-body h4{font-family:var(--font-body);font-weight:700;font-size:15.5px;color:var(--ink);margin:26px 0 8px}.legal-body h4:first-child{margin-top:0}.legal-body p{font-size:14.5px;color:var(--ink-soft);line-height:1.85;margin-bottom:12px}.legal-body ul{margin:10px 0 16px}.legal-body li{font-size:14.5px;color:var(--ink-soft);line-height:1.8;padding-left:22px;position:relative;margin-bottom:8px}.legal-body li::before{content:'—';position:absolute;left:0;color:var(--gold-deep)}.legal-body strong{color:var(--ink);font-weight:600}.text-link{color:var(--red);text-decoration:none;padding-bottom:1px;background-image:linear-gradient(var(--red),var(--red));background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .4s var(--ease)}.text-link:hover{background-size:100% 1.5px}.legal-fill{background:var(--gold-soft);color:var(--gold-deep);padding:1px 7px;border-radius:4px;font-family:var(--font-mono);font-size:.92em}.faq-hero{padding:158px 0 56px;background:var(--paper-alt);position:relative}.faq-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold-bright))}.faq-list{display:flex;flex-direction:column;gap:12px;max-width:800px}.faq-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);transition:box-shadow .3s}.faq-item.open{box-shadow:var(--shadow-soft)}.faq-question{display:flex;align-items:center;gap:18px;padding:22px 26px;cursor:pointer;transition:background .3s;user-select:none}.faq-item.open .faq-question{background:var(--paper-alt)}.faq-q-num{font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--gold-deep);flex:none}.faq-question .q-text{flex:1;font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink)}.faq-question .q-chevron{width:18px;height:18px;color:var(--ink-faint);transition:transform .35s var(--ease),color .35s;flex:none}.faq-item.open .q-chevron{transform:rotate(180deg);color:var(--gold-bright)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}.faq-item.open .faq-answer{max-height:700px}.faq-answer-inner{padding:0 26px 26px 60px;font-size:15px;color:var(--ink-soft);line-height:1.85}@media(max-width:640px){.faq-answer-inner{padding-left:26px}}.location-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:start}.location-map{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:110px;box-shadow:var(--shadow-soft)}.location-map iframe{width:100%;height:480px;border:0;filter:grayscale(.25) contrast(1.05) sepia(.05);display:block}.loc-accordion{display:flex;flex-direction:column;gap:10px}.loc-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.loc-item-head{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;background:var(--paper);transition:background .35s;user-select:none}.loc-item.open .loc-item-head{background:var(--red-deep)}.loc-item.open .loc-item-title,.loc-item.open .loc-item-count{color:var(--paper)}.loc-item-icon{width:38px;height:38px;border-radius:50%;background:var(--paper-alt);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;color:var(--red);transition:background .3s,color .3s,border-color .3s}.loc-item.open .loc-item-icon{background:var(--gold-soft);border-color:var(--gold-bright);color:var(--gold-deep)}.loc-item-icon svg{width:18px;height:18px}.loc-item-title{font-weight:600;font-size:15px;flex:1;transition:color .35s}.loc-item-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);transition:color .35s}.loc-item-chevron{width:17px;height:17px;transition:transform .35s var(--ease),color .35s;flex:none;color:var(--ink-faint)}.loc-item.open .loc-item-chevron{transform:rotate(180deg);color:var(--gold-bright)}.loc-item-body{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}.loc-item.open .loc-item-body{max-height:420px}.loc-row{display:flex;justify-content:space-between;align-items:center;padding:13px 22px;border-top:1px solid var(--line);font-size:14px;gap:14px}.loc-row .nm{color:var(--ink-soft)}.loc-row .dist{font-family:var(--font-mono);font-size:12px;color:var(--gold-deep);font-weight:600;white-space:nowrap;background:var(--gold-soft);padding:3px 9px;border-radius:20px}.loc-note{margin-top:18px;font-size:12.5px;color:var(--ink-faint);font-family:var(--font-mono)}@media(max-width:900px){.location-layout{grid-template-columns:1fr}.location-map{position:static}.location-map iframe{height:320px}}.contact-hero{padding:158px 0 64px;background:var(--paper-alt);position:relative}.contact-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold-bright))}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.office-card{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 55%,#8a4a1f 100%);color:var(--paper);padding:46px;position:relative;overflow:hidden}.office-card::after{content:'';position:absolute;right:-120px;top:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(185,138,46,.28),transparent 70%);animation:goldDrift 16s ease-in-out infinite}@keyframes goldDrift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-18px,14px) scale(1.08)}66%{transform:translate(12px,-16px) scale(.95)}}.office-card h3{color:var(--paper);font-size:23px;position:relative}.office-card .ta-line{font-family:var(--font-display-ta);color:var(--gold-soft);font-size:17px;margin-bottom:10px;position:relative}.office-card p{color:rgba(251,247,238,.72);margin-top:14px;font-size:14.5px;position:relative}.office-detail{display:flex;gap:14px;align-items:flex-start;margin-top:22px;font-size:14px;position:relative}.office-detail svg{width:19px;height:19px;color:var(--gold-bright);flex:none;margin-top:2px}.copy-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex:none;margin-left:2px;color:rgba(251,247,238,.5);transition:color .25s,background .25s}.copy-btn svg{width:15px;height:15px;color:inherit;margin:0}.copy-btn:hover{color:var(--gold-bright);background:rgba(251,247,238,.08)}.copy-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--gold-bright);color:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:600;padding:5px 10px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.copy-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--gold-bright)}.copy-btn.copied .copy-tip{opacity:1;transform:translateX(-50%) translateY(0)}.quick-contact-row{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap;position:relative}.quick-contact-row .btn{flex:1;justify-content:center;font-size:11.5px;padding:14px 14px}@media(max-width:480px){.quick-contact-row{flex-direction:column}.quick-contact-row .btn{width:100%;font-size:12px;letter-spacing:.04em;padding:14px 10px}}.form-card{background:var(--paper);border:1px solid var(--line);padding:46px;box-shadow:var(--shadow-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1 / -1}.field label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field select,.field textarea{border:none;border-bottom:1.5px solid var(--line);padding:13px 2px;font-family:var(--font-body);font-size:15px;background:transparent;color:var(--ink);transition:border-color .35s,box-shadow .35s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);outline:none;box-shadow:0 6px 14px -8px rgba(196,30,34,.7)}.form-card .btn{margin-top:30px}#formStatus{margin-top:16px;font-family:var(--font-mono);font-size:13px;color:var(--red);min-height:18px}.map-wrap{margin-top:60px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.map-wrap iframe{width:100%;height:380px;border:0;filter:grayscale(.3) contrast(1.05) sepia(.06);display:block}.social-row{display:flex;gap:14px;margin-top:22px;position:relative}.social-row a{width:44px;height:44px;border:1.5px solid rgba(251,247,238,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .3s,transform .3s,background .3s}.social-row a:hover{border-color:var(--gold-bright);background:var(--paper-alt);transform:translateY(-3px)}.social-row a:hover svg{color:var(--ink)}.social-row svg{width:18px;height:18px;color:var(--paper);transition:color .3s}footer{background:linear-gradient(135deg,var(--red-deep) 0%,var(--red) 55%,#8a4a1f 100%);color:rgba(251,247,238,.75);padding:80px 0 32px;position:relative}footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px}.footer-logo{width:196px;object-fit:contain}.footer-brand p{margin-top:18px;font-size:13.5px;max-width:280px;color:rgba(251,247,238,.6)}.footer-col h5{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:20px}.footer-col>a,.footer-col li{display:block;font-size:14px;padding:6px 0;color:rgba(251,247,238,.7)}.footer-col li a{padding:0;color:inherit;transition:color .3s}.footer-col li a:hover{color:var(--paper)}.footer-col a:hover{color:var(--paper)}.footer-social-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}.footer-social-link{display:flex !important;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;flex:none;background:rgba(251,247,238,.06);border:1.5px solid rgba(239,185,46,.4);transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}.footer-social-link svg{width:21px;height:21px;flex:none;color:var(--gold-bright);transition:color .3s}.footer-social-link:hover{background:linear-gradient(135deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright);transform:translateY(-5px);box-shadow:0 14px 26px -12px rgba(185,138,46,.65)}.footer-social-link:hover svg{color:var(--ink);animation:socialBounce .55s var(--ease)}@media(max-width:520px){.footer-social-link{width:46px;height:46px}.footer-social-link svg{width:19px;height:19px}}@keyframes socialBounce{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-8deg)}55%{transform:translateY(0) rotate(6deg)}80%{transform:translateY(-2px) rotate(-3deg)}100%{transform:translateY(0) rotate(0)}}.footer-bottom{margin-top:64px;padding-top:28px;border-top:1px solid rgba(251,247,238,.15);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(251,247,238,.5)}.footer-bottom .ta-line{font-family:var(--font-display-ta)}.footer-legal-links{display:flex;gap:18px;flex-wrap:wrap}.footer-legal-links a{color:rgba(251,247,238,.5);transition:color .3s}.footer-legal-links a:hover{color:var(--paper)}@media (max-width:980px){.hero-inner{grid-template-columns:1fr}.quick-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.process-strip{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr;gap:40px}.initiative-card{grid-template-columns:1fr;text-align:left}.amenity-grid{grid-template-columns:repeat(3,1fr)}.pipeline-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.gateway-grid{grid-template-columns:1fr}}@media (max-width:680px){.nav-links,.hide-mobile{display:none}.menu-toggle{display:flex}.mobile-menu{display:flex}.quick-grid,.service-grid,.process-strip,.amenity-grid{grid-template-columns:1fr}.feature-list,.enquiry-list,.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.meta-row{flex-direction:column}.meta-item{border-right:none;border-bottom:1px solid rgba(251,247,238,.22)}.section{padding:76px 0}.initiative-card{padding:36px}.office-card,.form-card{padding:32px}}@media (max-width:520px){.nav-inner{padding:14px 18px;gap:8px}.brand{gap:9px}.brand-icon{width:34px;height:34px}.brand-mark{font-size:17px}.brand-sub{font-size:6.8px;letter-spacing:.1em}.lang-toggle-track{width:72px;height:31px;padding:2.5px}.lang-toggle-thumb{width:34.5px;height:26px}html[data-lang="ta"] .lang-toggle-thumb{transform:translateX(34.5px)}.lang-opt{font-size:9px}.lang-opt-ta{font-size:10px}.menu-toggle{flex:none;width:24px}}@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}.reveal{opacity:1;transform:none}.hero-home h1 .htop,.hero-home h1 .hbot{opacity:1;transform:none;filter:none}.hero-home .htitle-rule{transform:scaleX(1)}}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.toast{position:fixed;left:50%;bottom:32px;z-index:1200;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);padding:16px 24px 16px 18px;border-radius:40px;box-shadow:0 20px 44px -14px rgba(0,0,0,.5);border:1px solid rgba(239,185,46,.35);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.9,.25,1),opacity .35s ease}.toast.show{transform:translate(-50%,0);opacity:1}.toast-text{font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;white-space:nowrap}.toast-check{width:26px;height:26px;color:var(--gold-bright);flex:none}.toast-check-circle{stroke-dasharray:120;stroke-dashoffset:120}.toast-check-mark{stroke-dasharray:24;stroke-dashoffset:24}.toast.show .toast-check-circle{animation:toastDraw .5s ease-out .1s forwards}.toast.show .toast-check-mark{animation:toastDraw .35s ease-out .5s forwards}@keyframes toastDraw{to{stroke-dashoffset:0}}.toast-petals{position:absolute;left:31px;top:50%;width:0;height:0;pointer-events:none}.toast-petals .petal{position:absolute;top:0;left:0;width:6px;height:9px;border-radius:60% 60% 60% 0;opacity:0;--tx:0px;--ty:0px}.petal-gold{background:var(--gold-bright)}.petal-red{background:var(--red)}.toast.show .petal{animation:petalBurst .85s ease-out forwards;animation-delay:.55s}.toast.show .petal:nth-child(1){--tx:28px;--ty:0px}.toast.show .petal:nth-child(2){--tx:20px;--ty:20px}.toast.show .petal:nth-child(3){--tx:0px;--ty:28px}.toast.show .petal:nth-child(4){--tx:-20px;--ty:20px}.toast.show .petal:nth-child(5){--tx:-28px;--ty:0px}.toast.show .petal:nth-child(6){--tx:-20px;--ty:-20px}.toast.show .petal:nth-child(7){--tx:0px;--ty:-28px}.toast.show .petal:nth-child(8){--tx:20px;--ty:-20px}@keyframes petalBurst{0%{opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(.3)}30%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) rotate(180deg) scale(1)}}@media(max-width:520px){.toast{left:16px;right:16px;transform:translateY(24px);bottom:20px}.toast.show{transform:translateY(0)}.toast-text{white-space:normal}}.fab-stack{position:fixed;right:22px;bottom:26px;z-index:850;display:flex;flex-direction:column;gap:14px}.scroll-top-btn{position:fixed;left:22px;bottom:26px;z-index:850;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--red-deep);color:var(--gold-bright);border:1.5px solid rgba(239,185,46,.4);box-shadow:0 10px 24px -10px rgba(0,0,0,.5);opacity:0;transform:translateY(16px) scale(.85);pointer-events:none;transition:opacity .3s ease,transform .3s var(--ease)}.scroll-top-btn.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.scroll-top-btn:hover{border-color:var(--gold-bright);background:var(--red-deep)}.scroll-top-btn:active{transform:scale(.9)}.scroll-top-btn svg{width:19px;height:19px}@media(max-width:640px){.scroll-top-btn{left:16px;bottom:18px;width:42px;height:42px}}.fab{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(18,13,9,.5);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.fab:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 18px 36px -10px rgba(18,13,9,.6)}.fab svg{width:27px;height:27px}.fab-whatsapp{background:#25D366;color:#fff}.fab-call{background:linear-gradient(135deg,var(--red),var(--red-deep));color:var(--paper)}@media(max-width:640px){.fab-stack{right:16px;bottom:18px;gap:12px}.fab{width:50px;height:50px}.fab svg{width:23px;height:23px}}img[data-img]{background:var(--paper-deep);opacity:0}img[data-img].loaded{animation:imgFade .6s ease forwards}img[data-img].brand-icon.loaded{animation:imgFade .6s ease forwards,logoFloat 6s ease-in-out .6s infinite}img[data-img].cta-logo.loaded{animation:imgFade .6s ease forwards,logoHaloBreathe 3.2s ease-in-out .6s infinite}@keyframes imgFade{from{opacity:0}to{opacity:1}}@keyframes breatheGlow{0%,100%{box-shadow:0 16px 32px -16px rgba(185,138,46,.75),0 0 0 0 rgba(239,185,46,0)}50%{box-shadow:0 16px 32px -16px rgba(185,138,46,.75),0 0 28px 7px rgba(239,185,46,.55)}}.cta-band .btn-gold{animation:breatheGlow 3.2s ease-in-out infinite}.fab{position:relative}.fab::before{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;border:2px solid currentColor;opacity:0}.fab-whatsapp::before{color:#25D366;animation:fabPulseRing 2.8s ease-out infinite}.fab-call::before{color:var(--red);animation:fabPulseRing 2.8s ease-out infinite 1.4s}@keyframes fabPulseRing{0%{transform:scale(1);opacity:.65}70%{transform:scale(1.7);opacity:0}100%{opacity:0}}.btn-gold:active{animation:pressGlowFlash .5s ease-out}@keyframes pressGlowFlash{0%{box-shadow:0 0 0 0 rgba(239,185,46,.9)}100%{box-shadow:0 0 26px 12px rgba(239,185,46,0)}}.section-head{position:relative;overflow:hidden}.section-head::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(239,185,46,.4),transparent);transform:skewX(-20deg);pointer-events:none;opacity:0}.section-head.is-visible::after{animation:sectionSweep 1.3s ease-out .15s 1}@keyframes sectionSweep{0%{left:-60%;opacity:1}100%{left:120%;opacity:0}}.section-head::before{content:'';position:absolute;top:0;left:0;width:36px;height:36px;pointer-events:none;background-image:repeating-conic-gradient(from 0deg,rgba(239,185,46,.5) 0deg 1.4deg,transparent 1.4deg 14deg);-webkit-mask:radial-gradient(circle at 0 0,#000 0,#000 36px,transparent 36px);mask:radial-gradient(circle at 0 0,#000 0,#000 36px,transparent 36px);opacity:0;transition:opacity .6s ease .3s}.section-head.is-visible::before{opacity:1}.divider-gold{position:relative;overflow:hidden}.divider-gold::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);animation:dividerShimmer 3.6s ease-in-out infinite;animation-delay:1s;pointer-events:none}@keyframes dividerShimmer{0%{left:-100%}55%,100%{left:100%}}[data-count]{display:inline-block;border-radius:8px}[data-count].count-glow{animation:countFinishGlow 1s ease-out}@keyframes countFinishGlow{0%{text-shadow:0 0 0 rgba(239,185,46,0)}35%{text-shadow:0 0 20px rgba(239,185,46,.95)}100%{text-shadow:0 0 0 rgba(239,185,46,0)}}.service-card{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.service-card:hover{box-shadow:0 12px 22px -14px rgba(18,13,9,.3),0 32px 52px -22px rgba(18,13,9,.35),0 64px 92px -32px rgba(18,13,9,.28),0 0 0 1.5px rgba(239,185,46,.55),0 0 30px 2px rgba(239,185,46,.3)}.project-showcase-card:hover{box-shadow:0 0 0 1.5px rgba(239,185,46,.55),0 0 34px 4px rgba(239,185,46,.32)}.gallery-item:hover::after{opacity:1;box-shadow:inset 0 0 42px 8px rgba(239,185,46,.28)}.fi-seal{position:relative;overflow:hidden}.fi-seal::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);animation:sealSheen 4.5s ease-in-out infinite;pointer-events:none}@keyframes sealSheen{0%,70%{left:-100%}100%{left:200%}}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;z-index:2000;pointer-events:none;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 12px 2px rgba(239,185,46,.7)}.gold-thread{position:fixed;left:0;top:0;width:3px;height:0%;z-index:1999;pointer-events:none;background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));box-shadow:0 0 10px 1px rgba(239,185,46,.5)}.project-showcase-card .tag{animation:tagPulseGlow 2.4s ease-in-out infinite}@keyframes tagPulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(239,185,46,.55)}50%{box-shadow:0 0 12px 3px rgba(239,185,46,.55)}}@keyframes logoHaloBreathe{0%,100%{box-shadow:0 10px 28px -8px rgba(0,0,0,.55),0 0 0 4px rgba(251,247,238,.18),0 0 20px 4px rgba(239,185,46,.35)}50%{box-shadow:0 10px 28px -8px rgba(0,0,0,.55),0 0 0 4px rgba(251,247,238,.18),0 0 36px 11px rgba(239,185,46,.68)}}
/* ============================================================
   Additions: dark mode, before/after slider, kolam dividers,
   skeleton shimmer, festival banner.
   ============================================================ */

/* ---- Dark mode ---- */
:root[data-theme="dark"]{
  --paper:#181310; --paper-alt:#221B16; --paper-deep:#2E241B;
  --ink:#F3ECDC; --ink-soft:#C9BBA6; --ink-faint:#8C7A6A;
  --line:rgba(243,236,220,.14); --line-soft:rgba(243,236,220,.08);
}
:root[data-theme="dark"] img{filter:brightness(.92)}
.theme-toggle-public{
  position:fixed; z-index:850; left:22px; bottom:88px;
  width:46px; height:46px; border-radius:50%; border:1px solid var(--line);
  background:var(--paper-alt); color:var(--ink); display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:var(--shadow-soft); transition:transform .2s var(--ease);
}
.theme-toggle-public:hover{transform:scale(1.06)}
.theme-toggle-public svg{width:20px;height:20px}
.theme-toggle-public .tt-moon{display:none}
:root[data-theme="dark"] .theme-toggle-public .tt-sun{display:none}
:root[data-theme="dark"] .theme-toggle-public .tt-moon{display:block}
@media (max-width:640px){ .theme-toggle-public{left:16px; bottom:76px; width:42px; height:42px} }

/* ---- Before / After slider (construction progress) ---- */
.project-showcase-media{position:relative}
.before-after-slider{position:absolute; inset:0; z-index:2}
.ba-frame{position:relative; width:100%; height:100%; overflow:hidden; user-select:none; cursor:ew-resize}
.ba-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; pointer-events:none}
.ba-before-wrap{position:absolute; inset:0; overflow:hidden}
.ba-before-wrap .ba-before{position:absolute; left:0; top:0; height:100%; object-fit:cover; max-width:none}
.ba-handle{position:absolute; top:0; bottom:0; left:50%; width:0; transform:translateX(-50%); z-index:3}
.ba-handle::before{content:''; position:absolute; top:0; bottom:0; left:0; width:2px; background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.ba-handle span{position:absolute; top:50%; left:50%; width:34px; height:34px; border-radius:50%; background:#fff; transform:translate(-50%,-50%); box-shadow:var(--shadow-soft); display:flex; align-items:center; justify-content:center}
.ba-handle span::before{content:'\2194'; font-size:15px; color:var(--ink)}
.ba-label{position:absolute; bottom:12px; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:rgba(24,19,16,.65); color:#fff; padding:4px 10px; border-radius:99px; z-index:2}
.ba-label-before{left:12px}
.ba-label-after{right:12px}

/* ---- Kolam-inspired section divider ---- */
.kolam-divider{display:flex; align-items:center; justify-content:center; padding:6px 0; opacity:.75}
.kolam-divider svg{width:120px; height:28px; color:var(--gold)}

/* ---- Loading sheen (shown briefly while CMS data hydrates) ----
   The static fallback content is already correct and visible immediately —
   this never hides it. It's a subtle shimmer sweep layered on top of the
   real content for the ~200-500ms a Supabase fetch takes, so an update
   feels intentional rather than an unannounced flash of changing text. */
body.cms-loading [data-cms-collection] > *{position:relative; overflow:hidden}
body.cms-loading [data-cms-collection] > *::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(185,138,46,.14), transparent);
  transform:translateX(-100%); animation:cmsShimmer 1.1s ease-in-out infinite;
}
@keyframes cmsShimmer{100%{transform:translateX(100%)}}

/* ---- Festival banner ---- */
.festival-banner{
  display:none; align-items:center; justify-content:center; gap:8px;
  background:linear-gradient(90deg, var(--red-deep), var(--red), var(--gold-deep));
  color:#fff; text-align:center; font-size:12.5px; font-weight:600; letter-spacing:.02em;
  padding:9px 16px;
}
.festival-banner.show{display:flex}

/* ---- Hero video background ---- */
.hero-video-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:none}
.hero-video-bg.active{display:block}
