/* ===== enhance.css — new sections for Soham Technologies site ===== */

/* brand hierarchy: Soham Technologies primary */
.brand .bw .b1{ font-size:17px; letter-spacing:.03em; }
.brand .bw .b1 em{ color:var(--indigo); font-weight:800; }
.footer .fbrand .b1 em{ font-style:normal; color:var(--lime); }

/* ===== impact counters ===== */
.impact{ background:var(--indigo-dd); color:#fff; position:relative; overflow:hidden; }
.impact::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 0%, rgba(215,221,68,.10), transparent 45%), radial-gradient(circle at 100% 100%, rgba(255,255,255,.06), transparent 40%); pointer-events:none; }
.impact .sec-head h2{ color:#fff; }
.impact .sec-head h2 b{ color:var(--lime); }
.impact .eyebrow{ color:var(--lime); }
.impact .sec-head .intro{ color:#c9cbf0; }
.impact-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.impact .im{ border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); padding:34px 26px; text-align:center; }
.impact .im-ic{ height:30px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--lime); }
.impact .im-ic svg{ width:30px; height:30px; }
.impact .im-n{ font-family:var(--serif); font-weight:700; font-size:clamp(34px,4.4vw,52px); line-height:1; color:var(--lime); display:flex; align-items:baseline; justify-content:center; gap:2px; }
.impact .im-n em{ font-style:normal; font-size:.5em; font-weight:600; }
.impact .im-n em.pre{ font-size:.55em; margin-right:1px; }
.impact .im-l{ font-size:13px; color:#cfd1f2; margin-top:12px; letter-spacing:.01em; }
.impact-note{ position:relative; font-size:11.5px; color:#8f92c8; margin-top:18px; text-align:center; }

/* ===== recognition certificate thumb ===== */
.recog{ grid-template-columns:auto 1fr auto; }
.recog .btn{ margin-top:20px; }
.cert-thumb{ margin:0; width:190px; flex-shrink:0; cursor:pointer; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 14px 34px rgba(25,25,83,.12); transition:transform .18s, box-shadow .18s; }
.cert-thumb:hover{ transform:translateY(-4px); box-shadow:0 22px 46px rgba(25,25,83,.2); }
.cert-thumb img{ width:100%; height:250px; object-fit:cover; object-position:top center; display:block; }
.cert-thumb figcaption{ font-family:var(--mono); font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-align:center; padding:9px 6px; }

/* ===== team ===== */
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.tm{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--indigo); border-radius:12px; padding:30px 24px; text-align:center; transition:transform .15s, box-shadow .15s; }
.tm:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(25,25,83,.1); }
.tm-av{ width:74px; height:74px; margin:0 auto 18px; border-radius:50%; background:var(--indigo); color:var(--lime); font-family:var(--serif); font-weight:700; font-size:24px; display:flex; align-items:center; justify-content:center; }
.tm-nm{ font-family:var(--serif); font-weight:700; font-size:19px; color:var(--ink); }
.tm-role{ font-size:12.5px; color:var(--muted); margin-top:6px; }

/* linkedin badge (about leader) */
.leader .lh{ position:relative; }
.li-badge{ display:inline-flex; align-items:center; gap:6px; margin-left:auto; align-self:flex-start; font-family:var(--sans); font-weight:600; font-size:11px; color:#0a66c2; border:1px solid #cfe0f3; background:#f2f7fd; padding:5px 10px; border-radius:6px; white-space:nowrap; transition:.15s; }
.li-badge:hover{ background:#0a66c2; color:#fff; border-color:#0a66c2; }
.li-badge svg{ width:14px; height:14px; }

/* ===== services — extended range ===== */
.svc-more-head{ font-family:var(--serif); font-weight:600; font-size:22px; color:var(--ink); margin:52px 0 24px; padding-bottom:14px; border-bottom:1.5px solid var(--ink); }
.svc-more{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sm{ display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px; transition:transform .15s, box-shadow .15s, border-color .15s; }
.sm:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(25,25,83,.09); border-color:var(--indigo-tint2); }
.sm-ic{ width:46px; height:46px; border-radius:11px; background:var(--indigo-tint); color:var(--indigo); display:flex; align-items:center; justify-content:center; }
.sm-ic svg{ width:24px; height:24px; }
.sm h4{ font-family:var(--serif); font-weight:600; font-size:18px; color:var(--ink); margin-top:4px; }
.sm p{ font-size:13px; color:var(--muted); line-height:1.55; }

/* ===== free electricity bill band ===== */
.freebill{ background:linear-gradient(110deg, var(--indigo) 0%, var(--indigo-d) 60%, var(--indigo-dd) 100%); color:#fff; position:relative; overflow:hidden; }
.freebill::after{ content:''; position:absolute; right:-100px; top:-120px; width:360px; height:360px; border-radius:50%; border:44px solid rgba(215,221,68,.12); }
.fb-inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; padding:52px 0; }
.fb-copy{ max-width:640px; }
.fb-tag{ display:inline-block; white-space:nowrap; font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--indigo-dd); background:var(--lime); padding:6px 14px; border-radius:999px; }
.fb-copy h2{ font-family:var(--serif); font-weight:600; font-size:clamp(26px,3.4vw,38px); line-height:1.1; margin-top:16px; }
.fb-hl{ color:var(--lime); }
.fb-copy p{ font-size:15px; color:#d6d8f4; margin-top:14px; }
.fb-cta{ display:flex; flex-direction:column; gap:12px; flex-shrink:0; width:280px; }
.fb-cta .btn{ justify-content:center; }

/* ===== energy calculator ===== */
.calc-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:34px; align-items:start; }
.calc-inputs{ display:flex; flex-direction:column; gap:26px; }
.ci-block{ }
.ci-label{ display:block; font-family:var(--sans); font-weight:700; font-size:14px; color:var(--ink); margin-bottom:12px; }
.ci-billrow{ display:flex; align-items:center; gap:2px; border:1.5px solid var(--line); border-radius:10px; padding:6px 14px; background:#fff; max-width:420px; transition:border-color .15s, box-shadow .15s; }
.ci-billrow:focus-within{ border-color:var(--indigo); box-shadow:0 0 0 3px rgba(52,52,168,.12); }
.ci-cur{ font-family:var(--serif); font-weight:700; font-size:22px; color:var(--indigo); }
.ci-billrow input{ flex:1; border:0; outline:0; font-family:var(--sans); font-weight:700; font-size:22px; color:var(--ink); padding:8px 6px; width:100%; -moz-appearance:textfield; background:transparent; }
.ci-billrow input::-webkit-outer-spin-button,.ci-billrow input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.ci-per{ font-size:12px; color:var(--muted-2); white-space:nowrap; }
.ci-range{ -webkit-appearance:none; appearance:none; width:100%; max-width:420px; height:6px; border-radius:6px; background:var(--indigo-tint2); margin-top:18px; outline:none; }
.ci-range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background:var(--indigo); border:3px solid #fff; box-shadow:0 2px 8px rgba(25,25,83,.35); cursor:pointer; }
.ci-range::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:var(--indigo); border:3px solid #fff; box-shadow:0 2px 8px rgba(25,25,83,.35); cursor:pointer; }
.ci-presets{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.chip{ font-family:var(--sans); font-weight:600; font-size:12px; color:var(--indigo); background:var(--indigo-tint); border:1px solid var(--indigo-tint2); border-radius:999px; padding:8px 14px; cursor:pointer; transition:.15s; }
.chip:hover{ background:var(--indigo); color:#fff; border-color:var(--indigo); }
.ci-tariff input{ font-family:var(--sans); font-weight:700; font-size:18px; color:var(--ink); border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; width:140px; background:#fff; }
.ci-tariff input:focus{ outline:none; border-color:var(--indigo); box-shadow:0 0 0 3px rgba(52,52,168,.12); }
.ci-measures{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.ms{ display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:9px; padding:12px 14px; background:#fff; cursor:pointer; transition:.15s; }
.ms:hover{ border-color:var(--indigo-tint2); background:var(--indigo-tint); }
.ms input{ width:18px; height:18px; accent-color:var(--indigo); flex-shrink:0; cursor:pointer; }
.ms span{ font-size:13px; font-weight:600; color:var(--ink); display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
.ms span em{ font-style:normal; font-family:var(--mono); font-size:10.5px; font-weight:500; color:var(--lime-d); }
.ms input:checked + span{ color:var(--indigo-d); }

.calc-result{ position:sticky; top:calc(var(--head-h) + 20px); background:var(--indigo); color:#fff; border-radius:16px; padding:30px; overflow:hidden; box-shadow:0 24px 60px rgba(25,25,83,.22); }
.calc-result::after{ content:''; position:absolute; right:-70px; bottom:-90px; width:240px; height:240px; border-radius:50%; border:34px solid rgba(255,255,255,.05); pointer-events:none; }
.cr-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.16); position:relative; z-index:2; }
.cr-pctlabel{ font-size:12px; color:#c9cbf0; max-width:140px; line-height:1.3; }
.cr-pct{ font-family:var(--serif); font-weight:700; font-size:48px; color:var(--lime); line-height:1; }
.cr-hero{ padding:22px 0; position:relative; z-index:2; }
.cr-hlabel{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--lime); }
.cr-hval{ font-family:var(--serif); font-weight:700; font-size:clamp(30px,4vw,44px); line-height:1.05; margin-top:8px; }
.cr-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); border-radius:10px; overflow:hidden; position:relative; z-index:2; }
.crm{ background:var(--indigo); padding:16px 16px; }
.crm-n{ font-family:var(--serif); font-weight:700; font-size:21px; color:#fff; line-height:1; }
.crm-l{ font-size:10.5px; color:#c9cbf0; margin-top:7px; line-height:1.3; }
.cr-cta{ width:100%; justify-content:center; margin-top:22px; position:relative; z-index:2; }
.cr-note{ font-size:10.5px; color:#bfc1ec; margin-top:14px; line-height:1.45; position:relative; z-index:2; }

/* ===== gallery ===== */
.gallery-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; }
.gal{ margin:0; position:relative; border-radius:12px; overflow:hidden; cursor:pointer; background:var(--indigo-dd); box-shadow:0 12px 30px rgba(25,25,83,.1); }
.gal img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.gal.g-wide{ grid-row:span 2; }
.gal:not(.g-wide) img{ height:192px; }
.gal.g-wide img{ height:400px; }
.gal.g-cert img{ object-position:top center; }
.gal:hover img{ transform:scale(1.05); }
.gal figcaption{ position:absolute; left:0; right:0; bottom:0; font-size:12.5px; font-weight:600; color:#fff; padding:26px 16px 12px; background:linear-gradient(transparent, rgba(15,15,50,.82)); }
.gal::after{ content:'⤢'; position:absolute; top:12px; right:12px; width:30px; height:30px; border-radius:7px; background:rgba(255,255,255,.9); color:var(--indigo); display:flex; align-items:center; justify-content:center; font-size:15px; opacity:0; transform:translateY(-4px); transition:.18s; }
.gal:hover::after{ opacity:1; transform:translateY(0); }

/* lightbox */
.lightbox{ position:fixed; inset:0; z-index:100; background:rgba(12,12,40,.92); display:none; align-items:center; justify-content:center; padding:40px; backdrop-filter:blur(3px); }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:90vw; max-height:82vh; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lb-cap{ position:absolute; bottom:26px; left:0; right:0; text-align:center; color:#e4e5f7; font-size:13px; padding:0 24px; }
.lb-close{ position:absolute; top:22px; right:26px; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:28px; line-height:1; cursor:pointer; transition:.15s; }
.lb-close:hover{ background:var(--lime); color:var(--indigo-dd); }

/* ===== SEO knowledge ===== */
.seo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.seo-col h3{ font-family:var(--serif); font-weight:600; font-size:20px; color:var(--indigo); margin-top:26px; }
.seo-col h3:first-child{ margin-top:0; }
.seo-col p{ font-size:14.5px; color:var(--muted); margin-top:12px; line-height:1.7; }
.seo-col p b{ color:var(--ink); font-weight:600; }

/* ===== careers ===== */
.careers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.careers .eyebrow{ color:var(--lime); }
.careers-copy h2{ font-family:var(--serif); font-weight:600; font-size:clamp(26px,3.4vw,38px); line-height:1.1; color:#fff; margin-top:16px; }
.careers-copy h2 b{ color:var(--lime); }
.careers-copy p{ font-size:15px; color:#cfd1f2; margin-top:16px; }
.careers-pts{ margin-top:20px; display:flex; flex-direction:column; gap:11px; }
.careers-pts li{ font-size:13.5px; color:#e4e5f7; padding-left:26px; position:relative; }
.careers-pts li::before{ content:'✓'; position:absolute; left:0; color:var(--lime); font-weight:700; }
.join-card{ background:#fff; border-radius:14px; padding:30px; box-shadow:0 24px 60px rgba(10,10,40,.28); }
.join-card h3{ font-family:var(--serif); font-weight:700; font-size:22px; color:var(--ink); margin-bottom:18px; }
.join-card .btn{ width:100%; justify-content:center; margin-top:20px; }

/* ===== WhatsApp float (refined) ===== */
.wa-float{ width:60px; height:60px; background:#25d366; }
.wa-float svg{ width:32px; height:32px; }
.wa-float .wa-label{ position:absolute; right:72px; top:50%; transform:translateY(-50%) translateX(6px); background:#111; color:#fff; font-size:12.5px; font-weight:600; white-space:nowrap; padding:8px 13px; border-radius:8px; opacity:0; pointer-events:none; transition:.18s; box-shadow:0 6px 18px rgba(0,0,0,.25); }
.wa-float .wa-label::after{ content:''; position:absolute; right:-5px; top:50%; transform:translateY(-50%) rotate(45deg); width:10px; height:10px; background:#111; }
.wa-float:hover .wa-label{ opacity:1; transform:translateY(-50%) translateX(0); }

/* ===== responsive ===== */
@media (max-width:980px){
  .recog{ grid-template-columns:1fr; }
  .cert-thumb{ width:100%; max-width:300px; }
  .cert-thumb img{ height:220px; }
  .calc-grid{ grid-template-columns:1fr; gap:26px; }
  .calc-result{ position:static; }
  .seo-grid{ grid-template-columns:1fr; gap:8px; }
  .careers-grid{ grid-template-columns:1fr; gap:34px; }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
  .svc-more{ grid-template-columns:repeat(2,1fr); }
  .impact-grid{ grid-template-columns:repeat(2,1fr); }
  .impact .im:nth-child(2n){ border-right:0; }
  .fb-inner{ flex-direction:column; align-items:flex-start; gap:24px; }
  .fb-cta{ width:100%; flex-direction:row; }
  .fb-cta .btn{ flex:1; }
}
@media (max-width:640px){
  .team-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .svc-more{ grid-template-columns:1fr; }
  .impact-grid{ grid-template-columns:1fr 1fr; }
  .ci-measures{ grid-template-columns:1fr; }
  .cr-metrics{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ grid-template-columns:1fr 1fr; }
  .gal.g-wide{ grid-column:span 2; grid-row:auto; }
  .gal.g-wide img{ height:230px; }
  .gal:not(.g-wide) img{ height:150px; }
  .fb-cta{ flex-direction:column; }
  .tm-av{ width:64px; height:64px; font-size:21px; }
  .wa-float .wa-label{ display:none; }
}
@media (max-width:420px){
  .team-grid{ grid-template-columns:1fr; }
}

/* ===== hero certificate card ===== */
.hero-cert{ position:relative; background:#fff; border-radius:14px; padding:14px; box-shadow:0 26px 64px rgba(10,10,40,.34); cursor:pointer; text-align:center; transition:transform .18s; }
.hero-cert:hover{ transform:translateY(-4px); }
.hero-cert img{ max-height:452px; width:auto; max-width:100%; margin:0 auto; border-radius:7px; display:block; }
.hero-cert .hc-ribbon{ position:absolute; top:24px; left:24px; background:var(--lime); color:var(--indigo-dd); font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:6px 12px; border-radius:999px; box-shadow:0 5px 14px rgba(0,0,0,.18); }
.hero-cert .hc-foot{ display:flex; align-items:center; justify-content:space-between; padding:12px 8px 4px; }
.hero-cert .hc-t{ font-family:var(--serif); font-weight:700; font-size:14px; color:var(--ink); }
.hero-cert .hc-v{ font-size:11px; font-weight:700; color:var(--indigo); }

/* ===== calculator v2 ===== */
.ci-row2{ display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:end; }
.ci-tariff input{ width:100%; }
#calcIndustry{ width:100%; font-family:var(--sans); font-weight:600; font-size:14px; color:var(--ink); border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; background:#fff; }
#calcIndustry:focus{ outline:none; border-color:var(--indigo); box-shadow:0 0 0 3px rgba(52,52,168,.12); }
.ci-hint{ font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); font-weight:500; margin-left:6px; }
.cr-scorewrap{ display:flex; align-items:center; gap:20px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.16); position:relative; z-index:2; }
.cr-ring{ --p:0; width:94px; height:94px; border-radius:50%; background:conic-gradient(var(--lime) calc(var(--p)*1%), rgba(255,255,255,.16) 0); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .55s ease; }
.cr-ring-in{ width:74px; height:74px; border-radius:50%; background:var(--indigo); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.cr-score{ font-family:var(--serif); font-weight:700; font-size:26px; color:#fff; line-height:1; }
.cr-scorelbl{ font-size:8px; letter-spacing:.1em; text-transform:uppercase; color:#c9cbf0; margin-top:3px; }
.cr-topmetrics{ flex:1; }
.cr-payback{ font-size:11.5px; color:#c9cbf0; margin-top:8px; }
.cr-payback b{ color:var(--lime); font-weight:700; }
.cr-hsub{ font-size:11.5px; color:#bfc1ec; margin-top:8px; }
.calc-analysis{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
.ca-break, .ca-insights{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px; }
.ca-title{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-2); margin-bottom:18px; }
.breakdown{ display:flex; flex-direction:column; gap:14px; }
.bd-top{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:12.5px; margin-bottom:6px; }
.bd-name{ font-weight:600; color:var(--ink); flex:1; min-width:0; padding-right:10px; }
.bd-val{ font-family:var(--sans); font-weight:700; color:var(--indigo); white-space:nowrap; }
.bd-bar{ height:8px; border-radius:6px; background:var(--indigo-tint); overflow:hidden; }
.bd-fill{ height:100%; border-radius:6px; background:var(--indigo); transition:width .55s ease; }
.bd-fill.top{ background:var(--lime-d); }
.breakdown .empty{ font-size:13px; color:var(--muted); }
.insights{ display:flex; flex-direction:column; gap:13px; }
.insights li{ font-size:13px; color:var(--muted); line-height:1.55; padding-left:24px; position:relative; }
.insights li::before{ content:'→'; position:absolute; left:0; top:0; color:var(--indigo); font-weight:700; }
.insights li b{ color:var(--ink); font-weight:600; }
.calc-foot{ font-size:11px; color:var(--muted-2); margin:22px auto 0; line-height:1.6; text-align:center; max-width:820px; }
@media (max-width:980px){
  .calc-analysis{ grid-template-columns:1fr; }
  .ci-row2{ grid-template-columns:1fr; align-items:stretch; }
}
