/* Geosystems inner pages (About area) */

/* ---------- Nav dropdown ---------- */
.dd{position:relative;display:inline-flex}
.dd-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--white);box-shadow:0 18px 40px rgba(0,0,0,.18);padding:10px 0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s var(--out),transform .45s var(--out),visibility 0s linear .35s;z-index:5}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--out),transform .45s var(--out),visibility 0s}
.nav .dd-menu a{color:var(--green);font-size:12.5px;letter-spacing:.1em;padding:10px 20px;min-height:40px}
.nav .dd-menu a::after{display:none}
.nav .dd-menu a:hover{color:var(--bronze-text);background:var(--cream)}
.panel nav a.sub{font-family:var(--sans);font-size:16px;padding:8px 0 8px 18px;color:#C9D4CE}

/* ---------- Page banner ---------- */
.pbanner{position:relative;min-height:min(70vh,640px);display:flex;align-items:flex-end;background:var(--green-deep);color:var(--white);overflow:hidden;padding:150px 0 70px}
.pb-bg{position:absolute;inset:-4%;background:var(--green-soft) center/cover;transform:scale(1.08);animation:pbZoom 9s cubic-bezier(.2,.6,.35,1) forwards}
@keyframes pbZoom{to{transform:scale(1)}}
.pb-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,28,21,.88) 0%,rgba(13,28,21,.55) 60%,rgba(13,28,21,.3) 100%)}
.pb-copy{position:relative;display:flex;flex-direction:column;gap:16px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#D9E2DC;border-left:2px solid var(--bronze);padding-left:12px}
.crumbs a{color:#D9E2DC}
.crumbs a:hover{color:var(--bronze)}
.crumbs [aria-current]{color:var(--bronze)}
.pbanner h1{font-size:clamp(44px,7vw,92px);color:var(--white);line-height:1}
.pbanner p{font-size:18px;color:#CFD9D3;max-width:620px}
.pb-copy > *{opacity:0;transform:translateY(24px);animation:pbIn 1s var(--out) forwards}
.pb-copy > :nth-child(2){animation-delay:.12s}
.pb-copy > :nth-child(3){animation-delay:.24s}
@keyframes pbIn{to{opacity:1;transform:none}}
.photo-tag{position:absolute;right:18px;top:110px;background:rgba(19,40,31,.85);color:var(--bronze);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;z-index:2}

/* ---------- Intro split ---------- */
.intro{padding:110px 0}
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.intro-img{min-height:460px;border-radius:4px;background:var(--cream-deep) center/cover}
.intro-copy{display:flex;flex-direction:column;gap:18px}
.intro-copy h2{font-size:clamp(34px,4.2vw,52px);color:var(--green)}
.intro-copy p{color:var(--muted);font-size:17px}
@media (max-width:860px){.intro{padding:80px 0}.intro-grid{grid-template-columns:minmax(0,1fr);gap:36px}.intro-img{min-height:300px}}

/* ---------- Counters ---------- */
.counters{position:relative;background:var(--green-deep);color:var(--white);overflow:hidden}
.counters .c-bg{position:absolute;inset:0;background:var(--green-soft) center/cover;opacity:.28}
.counters .wrap{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.counters .c{padding:64px 20px;text-align:center;border-left:1px solid rgba(255,255,255,.12)}
.counters .c:first-child{border-left:0}
.counters strong{display:block;font-family:var(--serif);font-size:clamp(48px,6vw,80px);line-height:1;font-weight:600}
.counters span{display:block;margin-top:10px;font-size:14px;letter-spacing:.06em;color:#C9D4CE}
@media (max-width:760px){.counters .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.counters .c:nth-child(3){border-left:0}.counters .c{padding:40px 12px;border-top:1px solid rgba(255,255,255,.12)}}

/* ---------- Statement ---------- */
.statement{position:relative;background:var(--green);color:var(--white);padding:120px 0;overflow:hidden}
.statement .s-img{position:absolute;right:-6%;top:50%;width:min(560px,48vw);height:min(420px,60%);transform:translateY(-50%) rotate(-8deg);background:var(--green-soft) center/cover;opacity:.55;border-radius:6px}
.statement .wrap{position:relative;display:flex;flex-direction:column;gap:28px}
.statement h2{font-family:var(--sans);font-weight:300;font-size:clamp(48px,9vw,140px);line-height:.95;letter-spacing:-.02em;color:var(--white)}
.statement h2 b{font-weight:700;display:block;padding-left:12%}
.statement p{max-width:440px;color:#C9D4CE}

/* ---------- Vision / mission / values / promise ---------- */
.vmv{padding:110px 0;background:var(--cream)}
.vmv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.vcard{background:var(--white);padding:34px 30px;display:flex;flex-direction:column;gap:14px;border-top:3px solid var(--bronze);transition:transform .6s var(--spring),box-shadow .6s var(--out)}
.vcard:hover{transform:translateY(-8px);box-shadow:0 22px 46px rgba(19,40,31,.12)}
.vcard .n{font-family:var(--serif);font-size:42px;color:var(--bronze-text);line-height:1}
.vcard h3{font-size:21px;color:var(--green)}
.vcard p,.vcard li{color:var(--muted);font-size:15.5px}
.vcard ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}

/* ---------- Directory rows ---------- */
.dir{padding:110px 0}
.dir-row{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) 110px;gap:40px;align-items:center;padding:34px 0;border-top:1px solid var(--line);position:relative}
.dir-row:last-child{border-bottom:1px solid var(--line)}
.dir-row::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--out)}
.dir-row:hover::before{transform:scaleX(1)}
.dir-row h3{font-size:24px;color:var(--green)}
.dir-row p{color:var(--muted)}
.dir-row .circle-btn{width:96px;height:96px;margin:0;font-size:13px}
@media (max-width:760px){.dir-row{grid-template-columns:minmax(0,1fr);gap:14px}.dir-row .circle-btn{width:88px;height:88px}}

/* ---------- Heritage (Made in India) ---------- */
.heritage{padding:110px 0;background:var(--white)}
.her-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.her-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:180px 220px;gap:14px}
.her-collage span{background:var(--cream-deep) center/cover;border-radius:4px}
.her-collage span:first-child{grid-row:1 / span 2}
.heritage h2{font-family:var(--sans);font-weight:300;font-size:clamp(40px,5vw,64px);color:var(--green);line-height:1}
.heritage h2 b{font-weight:700}
.heritage p{color:var(--muted);font-size:17px}
@media (max-width:860px){.her-grid{grid-template-columns:minmax(0,1fr);gap:36px}}

/* ---------- Catalogue band ---------- */
.catband{background:var(--green-deep);color:var(--white);padding:90px 0}
.catband .wrap{display:flex;align-items:center;gap:44px;flex-wrap:wrap}
.catband h2{font-family:var(--sans);font-weight:300;font-size:clamp(44px,7vw,100px);line-height:1;color:var(--white)}
.catband h2 b{font-weight:700}
.catband p{max-width:420px;color:#C9D4CE}
.dl-badge{flex:none;width:130px;height:130px;border-radius:50%;background:var(--cream);color:var(--green-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:13px;text-align:center;line-height:1.2}
.dl-badge:hover{color:var(--green-deep);background:var(--bronze)}

/* ---------- Why: numbered alternating rows ---------- */
.reasons{background:var(--green-deep);color:#C9D4CE}
.reason{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(78vh,620px)}
.reason:nth-child(even) .r-img{order:2}
.r-img{position:relative;overflow:hidden;background:var(--green-soft)}
.r-img span{position:absolute;inset:-8%;background:var(--green-soft) center/cover;transform:scale(1.12);transition:transform 1.6s var(--out)}
.reason.in .r-img span{transform:scale(1)}
.r-img::after{content:"";position:absolute;inset:0;background:var(--green-deep);transform-origin:right;transition:transform 1.2s var(--inout)}
.reason.in .r-img::after{transform:scaleX(0)}
.reason:nth-child(even) .r-img::after{transform-origin:left}
.r-txt{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:64px clamp(24px,6vw,96px)}
.r-txt small{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.r-txt small::after{content:"";width:40px;height:1px;background:var(--bronze)}
.r-txt h2{font-family:var(--sans);font-size:clamp(26px,3vw,38px);color:var(--white);font-weight:600}
.r-txt p{font-size:16.5px;line-height:1.75;max-width:520px}
@media (max-width:860px){.reason{grid-template-columns:minmax(0,1fr);min-height:0}.reason:nth-child(even) .r-img{order:0}.r-img{min-height:260px}.r-txt{padding:40px 20px 56px}}

/* ---------- Gallery ---------- */
.gallery-sec{padding:110px 0}
.gallery{columns:3 280px;column-gap:16px}
.gallery button{display:block;width:100%;margin:0 0 16px;padding:0;border:0;background:var(--green-soft) center/cover;border-radius:4px;position:relative;overflow:hidden;cursor:zoom-in;break-inside:avoid}
.gallery button span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:13px;font-weight:600;color:var(--white);background:linear-gradient(0deg,rgba(13,28,21,.85),transparent);text-align:left;transform:translateY(30%);opacity:.85;transition:transform .5s var(--out),opacity .5s}
.gallery button:hover span{transform:none;opacity:1}
.gallery .h1{height:240px}.gallery .h2{height:320px}.gallery .h3{height:400px}
.lightbox{position:fixed;inset:0;z-index:400;background:rgba(10,20,15,.92);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s linear .35s}
.lightbox.open{opacity:1;visibility:visible;transition:opacity .35s}
.lightbox .lb-img{width:min(1100px,100%);height:min(78vh,720px);background:var(--green-soft) center/contain no-repeat}
.lightbox p{position:absolute;left:0;right:0;bottom:24px;text-align:center;color:#D9E2DC;font-size:14px}
.lightbox .lb-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:var(--white);font-size:24px;cursor:pointer}

/* ---------- Dealership ---------- */
.partner{padding:110px 0}
.partner ul.dots{margin:18px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--muted)}
.partner ul.dots b{color:var(--green)}
.benefits{background:var(--green-deep);color:#C9D4CE}
.ben-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ben-img{position:relative;min-height:100%}
.ben-img span{position:sticky;top:0;display:block;height:100vh;max-height:900px;background:var(--green-soft) center/cover}
.ben-list{list-style:none;margin:0;padding:96px clamp(24px,5vw,80px);display:flex;flex-direction:column;gap:40px}
.ben-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px}
.ben-list svg{color:var(--bronze)}
.ben-list h3{color:var(--white);font-size:20px;margin-bottom:6px}
.ben-list p{font-size:15.5px}
@media (max-width:860px){.ben-grid{grid-template-columns:minmax(0,1fr)}.ben-img span{position:relative;height:280px}.ben-list{padding:56px 20px}}
.plist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:28px}
.plist a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;background:var(--cream);color:var(--green);font-weight:600;border-radius:4px;transition:background .4s var(--out),color .4s var(--out)}
.plist a:hover{background:var(--green);color:var(--white)}
.process{background:var(--green-deep);color:#C9D4CE;padding:110px 0}
.proc-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:64px}
.process h2{font-size:clamp(40px,5vw,60px);color:var(--white);font-family:var(--sans);font-weight:700;line-height:1}
.process h2 span{display:block;font-weight:300;color:#9FB2A7}
.steps2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.steps2 li{padding:30px 0;border-bottom:1px solid #2A4437;display:flex;flex-direction:column;gap:8px}
.steps2 small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.steps2 h3{font-size:24px;color:var(--white)}
@media (max-width:860px){.proc-grid{grid-template-columns:minmax(0,1fr);gap:24px}}

/* ---------- Certifications ---------- */
.certs{padding:110px 0}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:40px}
.cert{border:1px solid var(--line);padding:32px 28px;display:flex;flex-direction:column;gap:12px;border-radius:4px;transition:border-color .5s var(--out),transform .6s var(--spring)}
.cert:hover{border-color:var(--bronze);transform:translateY(-6px)}
.cert .ic{width:64px;height:64px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--green);font-family:var(--serif);font-weight:700;font-size:20px}
.cert h3{font-size:19px;color:var(--green)}
.cert p{color:var(--muted);font-size:15px}
.cert .st{align-self:flex-start;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:5px 10px;background:var(--green);color:var(--white)}
.cert .st.partner{background:var(--cream);color:var(--bronze-text)}
.is-hidden{display:none!important}

/* ---------- Template notice (hidden pages) ---------- */
.tpl-note{background:var(--bronze);color:var(--green-deep);text-align:center;font-size:13px;font-weight:700;padding:10px 16px;position:relative;z-index:101;margin-top:84px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:36px}
.quote{background:var(--white);padding:30px;border-radius:4px;display:flex;flex-direction:column;gap:14px;border:1px dashed var(--line)}
.quote p{font-family:var(--serif);font-size:22px;color:var(--green);line-height:1.3}
.quote span{font-size:13.5px;color:var(--muted)}

/* Privacy policy and research pages */
.doc{padding:100px 0;background:var(--white)}
.doc-body{max-width:780px}
.doc-body .doc-lead{font-size:19px;color:var(--ink);margin-bottom:12px}
.doc-body h2{font-size:clamp(26px,3vw,34px);color:var(--green);margin:40px 0 12px}
.doc-body p,.doc-body li{color:var(--muted);font-size:16.5px}
.doc-body ul{padding-left:20px;margin:0 0 12px}
.doc-body li{margin-bottom:6px}
.doc-body a{color:var(--bronze-text);text-decoration:underline;text-underline-offset:3px}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.doc-card{background:var(--cream);border-top:3px solid var(--bronze);padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.doc-card small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-text);font-weight:600}
.doc-card h3{font-family:var(--serif);font-size:24px;line-height:1.2;color:var(--green)}
.doc-card p{color:var(--muted);font-size:15px}
