/* ===== SIZES: sab bade text sizes yahin se control hote hain (sirf yeh 1 block badlo) ===== */
:root{--fs-hero:clamp(2.25rem,5vw,4.5rem);--fs-hero-sm:clamp(2rem,4vw,3.4rem);--fs-h2:clamp(1.75rem,3vw,2.6rem);--fs-h3:clamp(1.5rem,2.4vw,2rem);--fs-big:clamp(2.4rem,4.4vw,3.8rem);--fs-marq:clamp(1.4rem,2.8vw,2.3rem);--fs-cta:clamp(2rem,4vw,3.2rem)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
body{margin:0;background:var(--bg);color:var(--fg);font:400 calc(1rem*var(--scale))/1.65 var(--fb);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fh);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.bg-ink :focus-visible,.ftr :focus-visible{outline-color:var(--acc)}
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:var(--ink);padding:.7rem 1rem;z-index:200}
.skip:focus{left:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.narrow{max-width:calc(820px + 2*clamp(1.25rem,4vw,3rem))}
.sec{padding:clamp(3.5rem,7vw,6rem) 0;position:relative}
.bg-default{background:var(--bg);color:var(--fg)}
.bg-alt{background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--fg)}
.bg-ink{background:var(--ink);color:var(--on-ink)}
.bg-accent{background:var(--acc);color:var(--ink)}
.sec-head{max-width:44rem;margin-bottom:clamp(1.75rem,4vw,3rem)}
.sec-h{font-size:var(--fs-h2);font-weight:700;line-height:1.12}
.sec-intro{margin-top:.9rem;font-size:1.05em;opacity:.85}
.prose p{max-width:62ch}.al-center{text-align:center}.al-center .prose p{margin-inline:auto}
.tag{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .7rem;border:1.5px solid currentColor;border-radius:999px;margin-bottom:.9rem}
/* buttons */
.btn{display:inline-block;background:var(--acc);color:var(--ink);font:600 .95rem/1 var(--fb);padding:.9rem 1.5rem;border-radius:var(--btnr);text-decoration:none;border:2px solid var(--acc);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);color:var(--acc);border-color:var(--ink)}
.bg-ink .btn:hover,.ftr .btn:hover{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}
.btn-o{background:transparent;color:inherit;border-color:currentColor}
.btn-o:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.bg-ink .btn-o:hover{background:var(--on-ink);color:var(--ink)}
.btn-s{padding:.65rem 1.15rem;font-size:.9rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.75rem}
/* header */
.announce{background:var(--ink);color:var(--on-ink);text-align:center;padding:.55rem 1rem;font-size:.9rem}
.hdr{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-bottom-color:color-mix(in srgb,var(--fg) 14%,transparent)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:4.5rem;gap:1rem}
.logo{text-decoration:none;display:inline-flex;align-items:center}
.logo-txt{font:700 1.35rem/1 var(--fh);letter-spacing:-.03em}
.logo-img{max-height:3rem;width:auto}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;align-items:center}
.nav a{text-decoration:none;font-weight:500;font-size:.95rem}
.nav li>a:not(.btn){padding:.4rem 0;background:linear-gradient(var(--acc),var(--acc)) 0 100%/0 3px no-repeat;transition:background-size .25s}
.nav li>a:not(.btn):hover,.nav a[aria-current]{background-size:100% 3px}
.has-sub{position:relative}
.sub {
    position: absolute;
    left: -1rem;
    top: 100%;
    min-width: 15rem;
    background: var(--ink);
    color: var(--on-ink);
    border: none;
    border-radius: calc(var(--r) / 1.5);
    padding: 0.8rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    display: none !important;
    flex-direction: column;
    gap: 0.2rem !important;
    align-items: flex-start !important;
}
.sub a {
    color: var(--on-ink) !important;
    opacity: 0.85;
    padding: 0.5rem 0.8rem !important;
    width: 100%;
    border-radius: 6px;
    transition: all 0.2s ease;
    background-image: none !important;
}
.sub a:hover {
    opacity: 1;
    background-color: color-mix(in srgb, var(--on-ink) 12%, transparent) !important;
    transform: translateX(4px);
}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:flex!important}
.burger{display:none;background:none;border:0;width:2.75rem;height:2.75rem;cursor:pointer;position:relative}
.burger span{position:absolute;left:.7rem;right:.7rem;height:2px;background:currentColor;transition:transform .25s,top .25s}
.burger span:first-child{top:1.1rem}.burger span:last-child{top:1.6rem}
.burger[aria-expanded=true] span:first-child{top:1.35rem;transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{top:1.35rem;transform:rotate(-45deg)}
@media(max-width:900px){
 .burger{display:block}
 .nav{position:fixed;inset:4.5rem 0 0 0;background:var(--bg);flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:2rem clamp(1.25rem,4vw,3rem);gap:2rem;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility .3s}
 .nav.open{transform:none;visibility:visible}
 .nav ul{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}
 .nav li>a:not(.btn){font:700 1.5rem/1.2 var(--fh)}
 .sub{position:static;display:flex!important;border:0;padding:.3rem 0 0 1rem;background:none}
}
/* hero */
.hero{display:flex;align-items:center;min-height:min(70svh,50rem);padding:clamp(3rem,5vw,3rem) 0}
.hero-in{position:relative;z-index:1;width:100%}
.hero-h{font-size:var(--fs-hero);font-weight:700;line-height:1.04;letter-spacing:-.03em}
.ln{display:block;overflow:hidden;padding-bottom:.08em}.ln>span{display:block}
.hero-sub{max-width:40rem;margin-top:1.5rem;font-size:1.12em;line-height:1.55;opacity:.9}
.hero-small{min-height:min(36svh,22rem)}.hero-small .hero-h{font-size:var(--fs-hero-sm)}
.hero-image{color:var(--on-ink);background:var(--ink)}
.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.js:not([data-anim=off]) .hero .ln>span{transform:translateY(105%);animation:rise 1s cubic-bezier(.2,.8,.2,1) forwards}
.hero .ln:nth-child(2)>span{animation-delay:.12s!important}.hero .ln:nth-child(3)>span{animation-delay:.24s!important}.hero .ln:nth-child(4)>span{animation-delay:.36s!important}
@keyframes rise{to{transform:none}}
/* marquee */
.marquee{padding:.9rem 0;overflow:hidden;border-block:1px solid color-mix(in srgb,currentColor 20%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.speed-slow .mq-track{animation-duration:70s}.speed-fast .mq-track{animation-duration:22s}
.mq-set{display:flex;flex-shrink:0;align-items:center}
.mq-set span{font:700 var(--fs-marq)/1.2 var(--fh);letter-spacing:-.02em;padding-right:2rem;display:flex;align-items:center;gap:2rem;white-space:nowrap}
.mq-set span::after{content:"";width:.5rem;height:.5rem;background:var(--acc);border-radius:50%}
.bg-accent .mq-set span::after{background:var(--ink)}
@keyframes mq{to{transform:translateX(-50%)}}
.marquee:hover .mq-track{animation-play-state:paused}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem}
.stat{border-top:2px solid var(--acc);padding-top:.9rem}
.stat-v{display:inline;font:700 var(--fs-big)/1 var(--fh);letter-spacing:-.03em}
.stat-s{font:700 clamp(1.3rem,2.4vw,2rem) var(--fh)}
.stat-l{margin-top:.5rem;max-width:22ch;opacity:.85;font-size:.95rem}
/* cards */
.cg{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(min-width:900px){.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}}
.card{display:flex;flex-direction:column;border:1.5px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:border-color .2s,background .2s}
.card.is-link:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}
.card-body{padding:1.4rem}.card h3{font-size:1.2rem;margin-bottom:.5rem}.card p{margin:0;opacity:.85;font-size:.95rem}
.card-img{aspect-ratio:var(--ratio);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}
.ph{width:100%;aspect-ratio:var(--ratio);border-radius:var(--r);background:linear-gradient(135deg,var(--acc),var(--sec))}
/* pinned horizontal cards */
.hs-sec{padding:0}.hs-pin{padding:clamp(4rem,9vw,7rem) 0}
.hs-view{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;--g:max(clamp(1.25rem,4vw,3rem),calc((100vw - var(--w))/2 + clamp(1.25rem,4vw,3rem)))}
.hs-track{display:flex;gap:1.25rem;padding-inline:var(--g);width:max-content}
.hs-card{scroll-snap-align:start;width:min(82vw,26rem);min-height:21rem;border-radius:var(--r);padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;gap:2rem}
.hs-card .card-img{border-radius:calc(var(--r)/1.5);aspect-ratio:16/10;margin-bottom:1.25rem}
.hs-card h3{font-size:var(--fs-h3);margin-bottom:.7rem}.hs-card p{margin:0;opacity:.9;font-size:.98rem}
.tone-ink{background:color-mix(in srgb,var(--on-ink) 10%,var(--ink));color:var(--on-ink);border:1.5px solid color-mix(in srgb,var(--on-ink) 25%,transparent)}
.tone-accent{background:var(--acc);color:var(--ink)}.tone-alt{background:color-mix(in srgb,var(--sec) 85%,var(--ink));color:#fff}.tone-light{background:var(--bg);color:var(--fg)}
.hs-card.is-link:hover{outline:3px solid var(--acc);outline-offset:-3px}
.hs-on .hs-view{overflow:hidden}
.hs-on{height:260vh}
.hs-on .hs-pin{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding:5.5rem 0 2rem}
.hs-on .sec-head{margin-bottom:2rem}
.hs-on .hs-track{will-change:transform}
/* sticky stack */
.stk{position:sticky;display:grid;grid-template-columns:1fr minmax(0,16rem);gap:2rem;align-items:start;border-radius:var(--r);padding:clamp(1.5rem,3.5vw,2.5rem);min-height:13rem;margin-bottom:4vh;top:calc(5.5rem + var(--n,0)*1rem)}
.stk:nth-of-type(1){--n:0}.stk:nth-of-type(2){--n:1}.stk:nth-of-type(3){--n:2}.stk:nth-of-type(4){--n:3}.stk:nth-of-type(5){--n:4}.stk:nth-of-type(6){--n:5}.stk:nth-of-type(7){--n:6}.stk:nth-of-type(8){--n:7}
.stk:nth-of-type(4n+1){background:var(--ink);color:var(--on-ink);border:1.5px solid color-mix(in srgb,var(--on-ink) 30%,transparent)}
.stk:nth-of-type(4n+2){background:color-mix(in srgb,var(--fg) 7%,var(--bg));color:var(--fg);border:1.5px solid color-mix(in srgb,var(--fg) 15%,transparent)}
.stk:nth-of-type(4n+3){background:var(--acc);color:var(--ink)}
.stk:nth-of-type(4n+4){background:var(--bg);color:var(--fg);border:1.5px solid var(--fg)}
.stk h3{font-size:clamp(1.5rem,2.8vw,2.3rem);margin-bottom:.8rem}.stk p{max-width:52ch}
.stk-meta{font:600 1rem var(--fh);opacity:.8;text-align:right}
@media(max-width:700px){.stk{grid-template-columns:1fr}.stk-meta{text-align:left}}
/* image + text */
.it{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.it-img img{width:100%;aspect-ratio:var(--ratio);object-fit:cover;border-radius:var(--r)}
.side-right .it-img{order:2}
@media(max-width:800px){.it{grid-template-columns:1fr}.side-right .it-img{order:0}}
/* gallery */
.gal{columns:3 260px;column-gap:1rem}.gal figure{margin:0 0 1rem;break-inside:avoid}.gal img{border-radius:var(--r);width:100%}.gal figcaption{font-size:.9rem;margin-top:.4rem;opacity:.8}
/* cta + banner */
.cta{text-align:center}.cta-h{font-size:var(--fs-cta);font-weight:700;max-width:22ch;margin:0 auto .5em}.cta-t{max-width:38rem;margin:0 auto 1.5rem;font-size:1.05em}
.banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.banner p{margin:0;font:600 1.1rem var(--fh)}
.banner-sec{padding:1.25rem 0}
.banner-sec .btn{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
/* forms */
.enq{display:grid;gap:0.85rem;max-width:600px;margin:0 auto}
.field label{display:block;font-weight:600;margin-bottom:.3rem;font-size:0.9rem}.opt{font-weight:400;opacity:.7}
.field input,.field textarea,.field select{width:100%;font:inherit;color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:calc(var(--r)/2);padding:.6rem .8rem;font-size:0.95rem}
.field select option{color:#111}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid var(--acc);outline-offset:1px;border-color:transparent}
.field .err{border-color:var(--sec)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.note{font-size:.9rem;opacity:.75;margin:0}
.form-msg{margin:0;font-weight:600}.form-msg.ok{color:inherit}.form-msg.bad{color:var(--sec)}
.bg-ink .form-msg.bad{color:#ffb4a8}
.job{border-top:1.5px solid color-mix(in srgb,currentColor 25%,transparent);padding:1.2rem 0}.job:last-of-type{border-bottom:1.5px solid color-mix(in srgb,currentColor 25%,transparent)}
.job summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;list-style:none}
.job-t{font:700 1.2rem var(--fh)}.job-m{opacity:.8}.job .prose{margin:1rem 0}
.empty{font-size:1.15em;opacity:.8}
/* footer */
.ftr{background:var(--ink);color:var(--on-ink);padding:clamp(2.5rem,5vw,4rem) 0 1.5rem}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(auto-fit,minmax(150px,1fr));gap:2.5rem}
.ftr-brand p{max-width:36ch;opacity:.85}.ftr h2{font:600 .85rem var(--fb);margin-bottom:1rem;opacity:.7}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.ftr a{text-decoration:none;opacity:.92}.ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.ftr .logo-txt{font-size:1.6rem}
.ftr-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--on-ink) 25%,transparent);font-size:.9rem;opacity:.85}
.admin-link{font-size:.8rem;opacity:.6}
@media(max-width:800px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}
.preview-bar{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);background:var(--sec);color:#fff;padding:.6rem 1.1rem;border-radius:999px;z-index:300;font-weight:600;font-size:.9rem;box-shadow:0 4px 16px rgb(0 0 0/.25)}
/* optional scroll reveals (Animation: Full) */
.js[data-anim=full] .rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js[data-anim=full] .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ln>span{transform:none!important}.rv{opacity:1!important;transform:none!important}}
html[data-anim=off] *,html[data-anim=off] *::before{animation:none!important;transition:none!important}