/* (c) Infolith IT Solutions - infolith.in. All rights reserved. Copying or reusing this code without a licence is prohibited. */
:root{--ivory:#fbfaf6;--ivory-2:#f4f1e9;--white:#ffffff;--navy:#0e2340;--navy-2:#16345c;--ink:#101828;--muted:#5c6472;--gold:#b9922f;--gold-soft:#d9bf7e;--hairline:#e4dfd2;--serif:"Playfair Display",Georgia,serif;--sans:"Inter","Helvetica Neue",sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--nav-h:84px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--ivory);color:var(--ink);line-height:1.65;font-size:16px;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--gold-soft);color:var(--navy)}canvas,img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;background:0 0;border:none;cursor:pointer}.wrap{width:min(1160px,calc(100% - clamp(40px,8vw,120px)));margin:0 auto}.cring{position:fixed;left:0;top:0;z-index:950;pointer-events:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gold);transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s,border-color .3s;opacity:.7}.cring.is-hover{width:58px;height:58px;border-color:var(--navy);opacity:1}.cdot{position:fixed;left:0;top:0;z-index:951;pointer-events:none;width:5px;height:5px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}@media (hover:none),(max-width:900px){.cdot,.cring{display:none}}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:900}.progress i{display:block;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.nav{position:fixed;top:0;left:0;right:0;z-index:800;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,64px);transition:background .4s,box-shadow .4s,height .4s}.nav.is-scrolled{background:rgba(251,250,246,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--hairline);height:68px}.nav__logo{display:flex;align-items:baseline;gap:10px}.nav__logo-mark{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--navy);border:1.5px solid var(--navy);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;align-self:center;transition:background .3s,color .3s}.nav__logo:hover .nav__logo-mark{background:var(--navy);color:var(--ivory)}.nav__logo-name{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.01em}.nav__links{display:flex;gap:clamp(18px,3vw,38px);align-items:center}.nav__link{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative;padding:6px 0;transition:color .3s}.nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--gold);transition:right .35s var(--ease)}.nav__link.is-active,.nav__link:hover{color:var(--ink)}.nav__link.is-active::after,.nav__link:hover::after{right:0}.nav__burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:7px}.nav__burger span{width:24px;height:1.5px;background:var(--ink);transition:.35s}.nav__burger.is-open span:first-child{transform:translateY(8.5px) rotate(45deg)}.nav__burger.is-open span:nth-child(2){opacity:0}.nav__burger.is-open span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}@media (max-width:900px){.nav__links{position:fixed;inset:0;background:var(--ivory);flex-direction:column;justify-content:center;gap:30px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;z-index:-1}.nav__links.is-open{opacity:1;visibility:visible}.nav__link{font-size:17px}.nav__burger{display:flex}}.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}.eyebrow::before{content:"";width:36px;height:1.5px;background:var(--gold)}.h-hero{font-family:var(--serif);font-weight:600;font-size:clamp(46px, 7.4vw, 96px);line-height:1.06;letter-spacing:-.01em;color:var(--navy)}.h-hero em{font-style:italic;background:linear-gradient(100deg,var(--gold) 20%,var(--gold-soft) 40%,var(--gold) 60%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold);animation:shimmer 4.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}100%,60%{background-position:-120% 0}}.h-sec{font-family:var(--serif);font-weight:600;font-size:clamp(32px, 4.6vw, 54px);line-height:1.12;color:var(--navy)}.h-sec em{font-style:italic;color:var(--gold)}.h-card{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.25;color:var(--navy)}.lead{font-size:clamp(16px, 1.6vw, 18px);color:var(--muted);max-width:58ch}.js .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .rv.is-in{opacity:1;transform:none}.js .rv--l{transform:translateX(-36px)}.js .rv--r{transform:translateX(36px)}.js .rv--zoom{transform:scale(.94)}[data-d="1"]{transition-delay:.12s}[data-d="2"]{transition-delay:.24s}[data-d="3"]{transition-delay:.36s}[data-d="4"]{transition-delay:.48s}.mask-lines .ml{display:block;overflow:hidden}.js .mask-lines .ml>span{display:block;transform:translateY(105%);transition:transform 1s var(--ease)}.js .mask-lines.is-in .ml>span{transform:none}.mask-lines .ml:nth-child(2)>span{transition-delay:.1s}.mask-lines .ml:nth-child(3)>span{transition-delay:.2s}.rule{height:1px;background:var(--hairline)}.js .rule{transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}.js .rule.is-in{transform:scaleX(1)}.js .draw circle,.js .draw line,.js .draw path{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 1.6s var(--ease) .2s}.js .draw.is-in circle,.js .draw.is-in line,.js .draw.is-in path{stroke-dashoffset:0}.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ivory);background:var(--navy);position:relative;overflow:hidden;transition:color .35s}.btn::before{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.btn:hover::before{transform:scaleX(1);transform-origin:left}.btn span,.btn svg{position:relative;z-index:1}.btn svg{transition:transform .35s}.btn:hover svg{transform:translateX(5px)}.btn--line{background:0 0;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}.btn--line:hover{color:var(--ivory)}.btn--line::before{background:var(--navy)}.hero{min-height:100vh;position:relative;display:grid;align-items:center;padding:calc(var(--nav-h) + 20px) 0 80px;overflow:hidden}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero__inner{position:relative;z-index:1}.hero__title{margin:26px 0 24px}.hero__lead{margin-bottom:40px}.hero__actions{display:flex;gap:18px;flex-wrap:wrap}.hero__meta{position:absolute;bottom:34px;left:0;right:0;z-index:1;display:flex;justify-content:space-between;align-items:center}.hero__meta-item{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.hero__scroll{display:inline-flex;flex-direction:column;align-items:center;gap:10px}.hero__scroll i{width:1.5px;height:52px;background:var(--hairline);position:relative;overflow:hidden}.hero__scroll i::after{content:"";position:absolute;inset:0;background:var(--gold);animation:scrollLine 2s var(--ease) infinite}@keyframes scrollLine{0%{transform:translateY(-100%)}100%,55%{transform:translateY(100%)}}.ticker{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:20px 0;overflow:hidden;background:var(--white)}.ticker__track{display:flex;gap:64px;width:max-content;animation:ticker 32s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__track span{display:flex;align-items:center;gap:64px;white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--muted)}.ticker__track b{color:var(--gold);font-weight:400}@keyframes ticker{to{transform:translateX(-50%)}}.sec{padding:clamp(80px,13vh,150px) 0;position:relative}.sec-head{max-width:720px;margin-bottom:clamp(44px,7vh,72px)}.sec-head .h-sec{margin:18px 0 16px}.sec-num{position:absolute;top:clamp(60px,10vh,110px);right:clamp(20px,4vw,60px);font-family:var(--serif);font-size:clamp(80px, 12vw, 160px);line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-soft);opacity:.55;pointer-events:none;user-select:none}[data-tilt]{transform-style:preserve-3d;will-change:transform}[data-tilt].is-in{transition:transform .2s ease-out,opacity .9s var(--ease),box-shadow .4s var(--ease)}.orbit-badge{position:absolute;z-index:2;width:clamp(90px,10vw,130px);height:clamp(90px,10vw,130px);pointer-events:none}.orbit-badge svg{width:100%;height:100%;animation:spin 22s linear infinite}.orbit-badge text{font-size:11px;letter-spacing:3px;text-transform:uppercase;fill:var(--gold);font-family:var(--sans)}@keyframes spin{to{transform:rotate(360deg)}}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center}@media (max-width:920px){.about-grid{grid-template-columns:1fr}}.portrait{position:relative}.portrait__frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--navy)}.portrait__frame svg{width:100%;height:100%}.portrait::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);z-index:-1;transition:inset .5s var(--ease)}.portrait:hover::before{inset:14px -14px -14px 14px}.portrait__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(217,191,126,.16) 50%,transparent 58%);transform:translateX(-120%);animation:sheen 6s var(--ease) infinite;pointer-events:none}@keyframes sheen{0%,55%{transform:translateX(-120%)}100%,85%{transform:translateX(120%)}}.portrait__frame .topo{transform-origin:center;animation:topo 9s ease-in-out infinite}.portrait__frame .topo--2{animation-delay:-3s}.portrait__frame .topo--3{animation-delay:-6s}@keyframes topo{50%{transform:scale(1.045) rotate(1.2deg)}}.portrait__frame .spark{animation:sparkFloat 7s ease-in-out infinite}@keyframes sparkFloat{50%{transform:translate(-10px,-16px)}}.portrait__caption{position:absolute;bottom:20px;left:20px;right:20px;color:rgba(251,250,246,.85);font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between}.about-copy p{color:var(--muted);margin-bottom:18px}.about-copy .h-sec{margin:18px 0 22px}.sig{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--navy);margin-top:26px}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);margin-top:34px;border:1px solid var(--hairline)}.fact{background:var(--white);padding:20px 18px}.fact b{display:block;font-family:var(--serif);font-size:30px;color:var(--navy);font-weight:600}.fact span{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.disciplines{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,32px)}@media (max-width:860px){.disciplines{grid-template-columns:1fr}}.disc{background:var(--white);border:1px solid var(--hairline);padding:clamp(28px,4vw,44px);position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.disc:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(14,35,64,.22)}.disc::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--gold);transition:right .45s var(--ease)}.disc:hover::after{right:0}.disc__index{font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:600}.disc__icon{margin:22px 0 18px}.disc__icon svg{width:54px;height:54px}.disc .h-card{margin-bottom:10px}.disc p{color:var(--muted);font-size:15px}.disc__foot{margin-top:22px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);display:inline-flex;align-items:center;gap:8px;font-weight:600}.disc__foot svg{transition:transform .3s}.disc:hover .disc__foot svg{transform:translateX(5px)}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,32px)}.work{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--hairline);grid-column:span 4}.work--wide{grid-column:span 8}@media (max-width:860px){.work,.work--wide{grid-column:span 12}}.work__media{aspect-ratio:16/10;overflow:hidden;position:relative}.js .work__media{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease) .15s}.js .work.is-in .work__media{clip-path:inset(0 0 0 0)}.work__media img,.work__media svg{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.work:hover .work__media img,.work:hover .work__media svg{transform:scale(1.05)}.work__veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(14,35,64,.72));opacity:0;transition:opacity .5s}.work:hover .work__veil{opacity:1}.work__body{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;border-top:1px solid var(--hairline)}.work__title{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--navy)}.work__cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.band{background:var(--navy);color:var(--ivory);padding:clamp(70px,11vh,120px) 0;position:relative;overflow:hidden}.band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 85% 20%,rgba(185,146,47,.14),transparent),radial-gradient(ellipse 50% 60% at 10% 90%,rgba(22,52,92,.8),transparent)}.band .wrap{position:relative}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,4vw,44px)}@media (max-width:860px){.numbers{grid-template-columns:repeat(2,1fr)}}.number{border-top:1px solid rgba(251,250,246,.18);padding-top:22px}.number b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(44px, 6vw, 72px);line-height:1;color:var(--gold-soft)}.number span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(251,250,246,.62);display:block;margin-top:10px}.jl{position:relative;max-width:760px}.jl::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--hairline)}.jl-item{position:relative;padding:0 0 clamp(34px,5vh,52px) clamp(42px,6vw,64px)}.jl-item:last-child{padding-bottom:0}.jl-item::before{content:"";position:absolute;left:0;top:8px;width:15px;height:15px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--gold)}.js .jl-item::before{transform:scale(0);transition:transform .5s var(--ease) .1s}.js .jl-item.is-in::before{transform:scale(1)}.jl-item__year{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}.jl-item h3{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--navy);margin:8px 0 6px}.jl-item p{color:var(--muted);font-size:15px;max-width:54ch}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}@media (max-width:900px){.quotes{grid-template-columns:1fr}}.quote{background:var(--white);border:1px solid var(--hairline);padding:clamp(26px,3.6vw,38px);position:relative;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.quote:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(14,35,64,.2)}.quote__mark{font-family:var(--serif);font-size:60px;line-height:.6;color:var(--gold-soft);display:block;margin-bottom:18px}.quote p{font-family:var(--serif);font-style:italic;font-size:17.5px;line-height:1.55;color:var(--ink)}.quote footer{margin-top:20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.contact{background:var(--navy);color:var(--ivory);position:relative;overflow:hidden}.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 80% 30%,rgba(185,146,47,.12),transparent)}.contact .wrap{position:relative}.contact .eyebrow{color:var(--gold-soft)}.contact .h-sec{color:var(--ivory)}.contact .h-sec em{color:var(--gold-soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,6vw,100px);align-items:start}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}.contact-info p{color:rgba(251,250,246,.72);margin:18px 0 30px;max-width:44ch}.contact-line{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-top:1px solid rgba(251,250,246,.14)}.contact-line span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,250,246,.5)}.contact-line a{font-family:var(--serif);font-size:21px;color:var(--ivory);transition:color .3s}.contact-line a:hover{color:var(--gold-soft)}.form .field{margin-bottom:22px}.form label{display:block;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,250,246,.55);margin-bottom:10px}.form input,.form textarea{width:100%;background:0 0;border:0;border-bottom:1px solid rgba(251,250,246,.25);color:var(--ivory);font:17px var(--serif);padding:8px 0 12px;outline:0;transition:border-color .3s}.form input:focus,.form textarea:focus{border-color:var(--gold-soft)}.form textarea{min-height:110px;resize:vertical}.btn--gold{background:var(--gold);color:var(--navy)}.btn--gold::before{background:var(--ivory)}.btn--gold:hover{color:var(--navy)}.footer{background:var(--navy);border-top:1px solid rgba(251,250,246,.12);padding:28px 0;color:rgba(251,250,246,.55)}.footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}.footer a{transition:color .3s}.footer a:hover{color:var(--gold-soft)}.top-btn{position:fixed;right:26px;bottom:26px;z-index:700;width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--ivory);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(14px);transition:all .4s var(--ease);box-shadow:0 12px 28px -10px rgba(14,35,64,.4)}.top-btn.is-on{opacity:1;visibility:visible;transform:none}.top-btn:hover{background:var(--gold);color:var(--navy)}.deco-orbit{position:absolute;pointer-events:none;opacity:.5}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}.jl-item::before,.mask-lines .ml>span,.rule,.rv{opacity:1!important;transform:none!important}.draw circle,.draw line,.draw path{stroke-dashoffset:0!important}}