/* Page refinements staged for review before the next Hostinger upload. */
.ecosystem h2>span{max-width:100%}
.energy-map:before{background-image:linear-gradient(#bfd9cb21 1px,transparent 1px),linear-gradient(90deg,#bfd9cb21 1px,transparent 1px);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 95%);animation:energy-grid-drift 18s linear infinite}
@keyframes energy-grid-drift{to{background-position:48px 48px}}
@media(max-width:1050px){.ecosystem h2{font-size:clamp(3.5rem,7.6vw,6rem)}}
@media(max-width:760px){
  .ecosystem h2{font-size:clamp(2.4rem,10.3vw,4.6rem);line-height:.93;letter-spacing:-.018em}
  .ecosystem h2>span{display:block;white-space:normal;overflow-wrap:normal}
  .ecosystem h2>span:nth-child(2){font-size:.93em}
  .energy-map{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:20px 16px 22px}
  .energy-map svg{display:block;inset:0;width:100%;height:100%;opacity:.55;z-index:0;pointer-events:none}
  .energy-map .map-node,.energy-map .map-core,.energy-map .live-status{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;z-index:1}
  .energy-map .map-node{width:auto;min-height:76px;padding:12px;grid-template-columns:24px 1fr;gap:0 8px}
  .energy-map .map-node i{font-size:1.15rem}
  .energy-map .map-node b{font-size:.9rem}
  .energy-map .map-core{grid-column:1/-1;grid-row:2;width:min(100%,240px);height:245px;margin:auto}
  .energy-map .map-core img{height:150px;width:110px}
  .energy-map .solar-node{grid-column:1;grid-row:1}
  .energy-map .battery-node{grid-column:2;grid-row:1}
  .energy-map .grid-node{grid-column:1;grid-row:3}
  .energy-map .load-node{grid-column:2;grid-row:3}
  .energy-map .live-status{grid-column:1/-1;grid-row:4;margin:6px 0 0;justify-self:start;width:100%;font-size:.55rem}
}
@media(max-width:380px){.ecosystem h2{font-size:clamp(2.1rem,10vw,2.55rem)}}
@media(max-width:900px){.system-card h3{font-size:clamp(1.65rem,4.5vw,2.2rem);overflow-wrap:break-word}}

/* Official unlabeled state-boundary outline; logo markers align to its viewBox. */
.network-map{height:auto;min-height:0;padding:25px 24px 18px;display:flex;flex-direction:column;align-items:center;overflow:visible}
.network-map>.india-map-canvas{position:relative;right:auto;bottom:auto;width:min(100%,510px);aspect-ratio:530/600;flex:none;padding:0;background:transparent;display:block}
.network-map .india-outline{display:block;width:100%;height:100%;object-fit:fill}
.network-map .state-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);width:26px;height:26px;padding:3px;border:1px solid #e9d8a8;border-radius:50%;background:#f9f5e9;box-shadow:0 4px 15px #0008;transform:translate(-50%,-50%);display:grid;place-items:center;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.network-map .state-pin img{display:block;width:100%;height:100%;object-fit:contain}
.network-map .state-pin:hover,.network-map .state-pin.active,.network-map .state-pin:focus-visible{transform:translate(-50%,-50%) scale(1.25);background:#ffca64;box-shadow:0 0 0 7px #ffbf3c38,0 8px 24px #0008;z-index:6}
.network-map .state-pin:focus-visible,.state-list .state-chip:focus-visible{outline:2px solid #ffca64;outline-offset:3px}
.network-map .state-pin:before{content:"";position:absolute;inset:-9px}
.network-map>.map-current-state{position:relative;right:auto;bottom:auto;width:min(100%,510px);display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;background:#f0b445;color:#0e211c}
.map-current-state span{font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.map-current-state strong{font:800 clamp(1.1rem,2vw,1.45rem)/1 var(--display);text-transform:uppercase;text-align:right}
.map-credit{align-self:center;width:min(100%,510px);padding-top:12px;color:#b9ccc3;font-size:.64rem}
.state-list .state-chip{min-height:44px;font-family:inherit;font-size:.72rem;line-height:1.2}
.state-list .state-chip:hover:not(.active){background:#f0eadb;color:#10221d;border-color:#ae8745}
@media(max-width:760px){
  .family-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:6px;height:auto}
  .family-tabs button{width:100%;min-width:0;height:auto;min-height:50px;padding:12px;text-align:center}
  .family-tabs button:last-child{grid-column:1/-1}
  .network-map{padding:16px 12px}
  .network-map .state-pin{width:20px;height:20px;padding:2px}
  .network-map .state-pin:hover,.network-map .state-pin.active,.network-map .state-pin:focus-visible{box-shadow:0 0 0 5px #ffbf3c38,0 6px 18px #0008}
  .map-current-state{padding:11px 12px}
  .map-current-state strong{font-size:1.05rem}
}
@media(max-width:420px){.network-map .state-pin{width:16px;height:16px;padding:1px}}
.comparison-swipe-hint{display:none}
@media(max-width:760px){.comparison-swipe-hint{display:block;margin:10px 0 8px;color:#ffca64;font-size:.75rem;font-weight:800}}

/* Best-fit legends no longer contain number badges; give headings their full width. */
.fit-step legend{display:block;width:100%;max-width:100%;margin:0 0 18px;padding:0;float:none}
.fit-step legend>span,.fit-step legend>small{display:block;width:100%;max-width:100%}
.fit-step legend>span{font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.12;letter-spacing:.01em}
.fit-step legend>small{margin-top:6px;font-size:.76rem;line-height:1.45;color:#c5d3ce}
.fit-result-card{position:static;top:auto;min-height:0;align-self:start}
.fit-empty{position:static;display:block;min-height:0;padding:10px 0;overflow:visible}
.fit-empty::before,.fit-empty::after{content:none;display:none}
.fit-empty h3{max-width:22ch;font-size:clamp(2rem,3vw,2.8rem);line-height:1.02;margin:18px 0}
.fit-empty p{max-width:38ch;line-height:1.6}
@media(max-width:650px){.fit-step legend{display:block}.fit-empty{min-height:0;padding:4px 0}}

/* Service QR remains fully visible and large enough to scan. */
.qr-flow-head{grid-template-columns:minmax(0,1fr) minmax(280px,385px);align-items:center;gap:clamp(26px,5vw,70px)}
.qr-flow-head h2{font-size:clamp(3.25rem,5.6vw,5.6rem);line-height:.9}
.qr-flow-scan{display:block;max-width:385px;padding:0;border:0;background:transparent;box-shadow:none}
.qr-flow-scan img{display:block;width:100%;height:auto;max-height:510px;object-fit:contain;padding:0;background:transparent;clip-path:inset(1.5%)}
.qr-flow-scan span{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 5px 0;color:#fff}
.qr-flow-scan b{font-size:1.5rem}
.qr-flow-scan small{color:#ffc354}
@media(max-width:900px){.qr-flow-head{grid-template-columns:1fr}.qr-flow-scan{width:min(100%,360px);max-width:none;margin:auto}}
@media(max-width:650px){.qr-flow-head h2{font-size:clamp(2.45rem,10.8vw,4rem)}.qr-flow-scan{width:min(100%,315px)}.qr-flow-scan b{font-size:1.3rem}}

/* Approved team numbers, grouped consistently in Home, Contact, and footer. */
.contact-number-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-number-groups>div,.contact-route-numbers>p,.footer-phone-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.contact-number-groups span,.contact-route-numbers strong,.footer-phone-group strong{color:#ffca64;font-size:.67rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-number-groups a,.contact-route-numbers a{white-space:nowrap}
.contact-route-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}
.contact-route-numbers>p{margin:0!important}
.contact-route-numbers a{color:#f4f6ef;text-decoration:none;font-size:.88rem}
.footer-phone-group{margin:12px 0}
.footer-phone-group strong{color:#e1b859}
.footer-phone-group a{white-space:nowrap}
@media(max-width:760px){.contact-number-groups,.contact-route-numbers{grid-template-columns:1fr}.contact-number-groups{gap:20px}}

/* Careers page: distinct but within the established palette and component rhythm. */
.careers-page .career-intro{max-width:760px}
.careers-page .career-intro p{font-size:1.02rem;line-height:1.7;color:#3d4a46}
.careers-page .career-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.careers-page .career-focus article{min-height:245px;padding:26px;background:#efede6;border:1px solid #b8c0ba;display:flex;flex-direction:column}
.careers-page .career-focus svg{width:40px;height:40px;color:#a86b08;stroke:currentColor;fill:none;stroke-width:1.7}
.careers-page .career-focus h3{margin:auto 0 12px;font:800 2rem/1 var(--display);text-transform:uppercase}
.careers-page .career-focus p{margin:0;color:#3d4a46;font-size:.9rem;line-height:1.55}
.careers-page .career-note{margin:26px 0 0;padding:18px 20px;border-left:3px solid #b77a13;background:#f5f1e6;color:#34423d}
.careers-page .career-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.careers-page .career-steps article{padding:24px;border:1px solid #ffffff35;background:#ffffff0a}
.careers-page .career-steps b{color:#ffc354;font-size:.68rem;letter-spacing:.1em}
.careers-page .career-steps h3{margin:14px 0 8px;font:800 1.75rem/1 var(--display);text-transform:uppercase}
.careers-page .career-steps p{margin:0;color:#c4d1cd;font-size:.87rem}
@media(max-width:900px){.careers-page .career-focus,.careers-page .career-steps{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.careers-page .career-focus,.careers-page .career-steps{grid-template-columns:1fr}.careers-page .career-focus article{min-height:0;gap:16px;padding:22px}.careers-page .career-focus h3{margin:0;font-size:1.8rem}}

/* The founder portrait must stay within its own row, without cropping. */
.about-page .split-feature{background:#eeeae0}
.about-page .split-feature>img{display:block;object-fit:contain;object-position:center bottom;background:#eeeae0}
.about-page .split-feature>div{background:#142923;color:#fff}
.about-page .split-feature p{color:#d4e0da}
.about-page .split-feature small{color:#b9ccc3}
@media(max-width:900px){
  .about-page .split-feature{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0}
  .about-page .split-feature>img{width:min(100%,540px);height:auto;max-height:none;aspect-ratio:922/1383;justify-self:center}
  .about-page .split-feature>div{min-width:0;padding:clamp(32px,6vw,52px) clamp(20px,6vw,44px)}
  .about-page .split-feature h2{font-size:clamp(2.65rem,8vw,4.5rem);line-height:.95;overflow-wrap:normal;word-break:normal}
}
@media(max-width:600px){
  .about-page .split-feature>img{width:min(100%,460px)}
  .about-page .split-feature h2{font-size:clamp(2.45rem,10.7vw,3.7rem)}
  .about-page .split-feature p{font-size:.96rem;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){.energy-map:before{animation:none}.network-map .state-pin{transition:none}}
