
:root{
  --green:#1b5d4c;
  --deep:#0d3c32;
  --dark:#082820;
  --gold:#e3c675;
  --ivory:#f8f5ed;
  --ivory2:#f1ede3;
  --ink:#173028;
  --muted:#65726c;
  --line:rgba(13,60,50,.14);
  --white:#fff;
  --shadow:0 22px 58px rgba(8,40,32,.12);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--ink);line-height:1.65;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Malayalam","Noto Sans Devanagari","Noto Sans Tamil","Noto Sans Kannada","Noto Nastaliq Urdu",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
html[dir="rtl"] body{font-family:"Noto Nastaliq Urdu","Noto Sans Arabic",Tahoma,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip{position:fixed;top:-80px;left:10px;z-index:9999;background:#fff;padding:9px 12px;border-radius:8px}
.skip:focus{top:10px}

/* HEADER */
header{
  position:sticky;top:0;z-index:1000;background:var(--green);
  border-bottom:1px solid rgba(227,198,117,.24);
  box-shadow:0 6px 18px rgba(8,40,32,.1)
}
nav{min-height:78px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:11px;color:#fff;min-width:max-content}
.brand img{width:48px;height:48px;object-fit:contain;padding:4px;background:#fff;border-radius:12px}
.brand strong{display:block;font-size:14px;letter-spacing:.12em;font-weight:650}
.brand small{display:block;margin-top:3px;color:var(--gold);font-size:10px}
.header-brand strong{letter-spacing:.08em}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:18px}
.navlinks>a{
  color:var(--gold);font-size:13px;font-weight:400;background:none;border:0;padding:10px 0;
  transition:color .18s ease
}
.navlinks>a:hover,.navlinks>a.active{color:#fff}
.cta{
  border:0!important;
  border-radius:0!important;
  padding:10px 0!important;
  color:var(--gold)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.lang{
  max-width:118px;padding:8px 10px;border:1px solid rgba(227,198,117,.5);border-radius:999px;
  color:#fff;background:rgba(255,255,255,.08);outline:none;font-size:11px
}
.lang option{background:#fff;color:#111}
.mobile{
  display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(227,198,117,.45);
  border-radius:12px;background:transparent;color:var(--gold);font-size:22px
}

/* HERO + SECTIONS */
.hero{
  padding:88px 0 82px;
  background:radial-gradient(circle at 85% 20%,rgba(227,198,117,.16),transparent 24%),
             radial-gradient(circle at 10% 85%,rgba(27,93,76,.10),transparent 25%),var(--ivory)
}
.hero-grid{display:grid;grid-template-columns:1.24fr .76fr;gap:70px;align-items:center}
.eyebrow,.kicker{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}
.hero h1,.pagehero h1,h2{
  font-family:Georgia,"Times New Roman",serif;color:var(--deep);
  font-weight:500;letter-spacing:-.03em
}
.hero h1{font-size:clamp(48px,6vw,77px);line-height:1.02;margin:17px 0 22px}
.lead{max-width:760px;color:#52615b;font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{
  min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;
  border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:700
}
.primary{background:var(--green);border-color:var(--green);color:#fff}
.secondary{background:rgba(255,255,255,.62);color:var(--deep)}
.opcard{
  padding:28px;border-radius:29px;background:linear-gradient(145deg,var(--green),var(--deep));
  color:#fff;box-shadow:0 32px 72px rgba(8,40,32,.22)
}
.opcard .top{padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.14);color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.flow{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:14px 0;align-items:start}
.num{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(227,198,117,.32);border-radius:50%;color:var(--gold);font-size:11px}
.flow strong{font-family:Georgia,serif;font-size:22px;font-weight:500}
.flow p{margin:3px 0 0;color:rgba(255,255,255,.68);font-size:13px}
.motto{padding-top:17px;border-top:1px solid rgba(255,255,255,.14);text-align:center;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.signal{background:var(--dark);color:#fff}
.signal-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.signal-item{min-height:102px;padding:22px;border-right:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;justify-content:center}
.signal-item:first-child{border-left:1px solid rgba(255,255,255,.09)}
.signal-item small{color:rgba(255,255,255,.5);font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.signal-item b{font-size:14px}
.section{padding:92px 0}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:82px;align-items:start}
.split h2{font-size:clamp(36px,4.2vw,54px);line-height:1.08;margin:12px 0}
.copy,.section p{color:var(--muted)}
.darksec{background:var(--deep);color:#fff}
.darksec h2{color:#fff}
.darksec p{color:rgba(255,255,255,.7)}
.darksec .kicker{color:var(--gold)}
.pagehero{
  padding:70px 0 54px;
  background:radial-gradient(circle at 88% 18%,rgba(227,198,117,.18),transparent 26%),var(--ivory)
}
.pagehero h1{font-size:clamp(42px,5.4vw,68px);line-height:1.04;margin:13px 0 17px}
.pagehero p{max-width:820px;color:var(--muted);font-size:17px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{padding:27px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.58)}
.card i{font-style:normal;color:var(--gold);font-size:11px;font-weight:800}
.card h3{margin:32px 0 9px;color:var(--deep);font-family:Georgia,serif;font-size:22px;font-weight:500}
.card p{margin:0;color:var(--muted);font-size:14px}

/* FIND / FORM / CONTACT */
.notice{padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:14px}
label{display:block;margin-bottom:7px;color:var(--deep);font-size:12px;font-weight:700}
input,select,textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;
  background:#fff;color:var(--ink);outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--green)}
textarea{min-height:130px;resize:vertical}
.district-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.district{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.district strong{display:block;color:var(--deep);font-size:14px}
.district small{color:var(--muted);font-size:12px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column}
.field.full{grid-column:1/-1}
.status{margin-top:12px;color:var(--green);font-size:13px;font-weight:700}
.email{color:var(--green);overflow-wrap:anywhere}

/* FOOTER — 4 columns on desktop AND tablet */
footer{background:#06261f;color:#fff;padding:62px 0 23px}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,.85fr);
  gap:44px;
  align-items:start
}
.footer-widget{min-width:0}
.footer-brand-widget p{max-width:390px;color:rgba(255,255,255,.58);font-size:13px}
.ftitle{display:block;margin-bottom:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.flinks{display:flex;flex-direction:column;gap:8px}
.flinks a,.foot-email a{color:rgba(255,255,255,.64);font-size:12px;overflow-wrap:anywhere}
.flinks a:hover,.foot-email a:hover{color:#fff}
.foot-email{margin-top:15px}
.foot-email a{color:var(--gold)}
.bottom{
  margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.4);font-size:11px
}

/* FLOATING CONTROLS ONLY — never in header/footer */
.whatsapp-float,.scrolltop{
  position:fixed;right:18px;width:48px;height:48px;border:0;border-radius:50%;
  place-items:center;box-shadow:0 12px 30px rgba(8,40,32,.28);z-index:2200
}
.whatsapp-float{
  bottom:calc(82px + env(safe-area-inset-bottom));
  display:grid;visibility:visible;opacity:1;
  background:#25D366;color:#fff
}
.whatsapp-float svg{width:27px;height:27px;fill:currentColor}
.scrolltop{
  bottom:calc(20px + env(safe-area-inset-bottom));
  display:grid;background:var(--green);color:var(--gold);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease
}
.scrolltop.show{opacity:1;visibility:visible;transform:none}
header .whatsapp-trigger,footer .whatsapp-trigger,.footer-whatsapp-link{display:none!important}

/* non-English heading size adjustment is applied precisely by JS */
html[data-heading-scale="half"] h1,
html[data-heading-scale="half"] h2,
html[data-heading-scale="half"] h3,
html[data-heading-scale="half"] .eyebrow,
html[data-heading-scale="half"] .kicker,
html[data-heading-scale="half"] .ftitle,
html[data-heading-scale="half"] .opcard .top{letter-spacing:normal}

/* HEADER BREAKPOINT */
@media(max-width:1100px){
  .mobile{display:block}
  .navlinks{
    position:fixed;left:0;right:0;top:78px;max-height:calc(100vh - 78px);overflow:auto;
    display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 20px 22px;
    background:var(--green);border-top:1px solid rgba(227,198,117,.18);
    box-shadow:0 18px 35px rgba(8,40,32,.2)
  }
  .navlinks.open{display:flex}
  .navlinks>a{width:100%;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
  html[dir="rtl"] .navlinks>a{text-align:right}
  .cta{margin-top:8px;width:max-content!important}
  .lang{margin-top:12px;width:100%;max-width:none}
  .hero-grid,.split{grid-template-columns:1fr;gap:44px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .district-grid{grid-template-columns:repeat(3,1fr)}
}

/* TABLET: footer remains FOUR columns down to 720px */
@media(min-width:720px) and (max-width:1100px){
  .footer-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(0,.78fr) minmax(0,.92fr) minmax(0,.8fr);
    gap:22px
  }
  .footer-brand-widget p{font-size:12px}
  .flinks a,.foot-email a{font-size:11.5px}
  .brand strong{font-size:12px}
  .brand small{font-size:9px}
}

/* MOBILE */
@media(max-width:719px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  nav{min-height:70px}
  .navlinks{top:70px;max-height:calc(100vh - 70px)}
  .brand img{width:43px;height:43px}
  .brand strong{font-size:12px}
  .hero{padding:58px 0 60px}
  .hero h1{font-size:clamp(42px,13vw,58px)}
  .lead,.pagehero p{font-size:16px}
  .actions .btn{width:100%}
  .signal-grid,.cards,.district-grid,.form-grid{grid-template-columns:1fr}
  .signal-item,.signal-item:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .section{padding:70px 0}
  .pagehero{padding:58px 0 42px}
  .field.full{grid-column:auto}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
  .bottom{flex-direction:column}
  .whatsapp-float,.scrolltop{right:14px;width:46px;height:46px}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:380px){
  .brand strong{font-size:11px;letter-spacing:.07em}
  .hero h1{font-size:39px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* ===== QP Network v7 footer alignment fix =====
   Goal: make the footer widgets render like the second screenshot:
   all 4 widgets in one desktop row with even alignment.
*/
@media (min-width:1101px){
  footer .wrap{
    max-width:1280px;
  }
  .footer-grid{
    display:grid !important;
    grid-template-columns: 1.45fr 1fr 1fr 1fr !important;
    gap:34px !important;
    align-items:start !important;
  }
  .footer-brand-widget{
    padding-right:8px;
  }
  .footer-brand-widget .brand{
    margin-bottom:10px;
  }
  .footer-brand-widget p{
    max-width:360px;
    margin:12px 0 18px;
  }
  .foot-email a{
    word-break:break-word;
  }
  .footer-widget{
    min-width:0;
  }
  .footer-widget a{
    line-height:1.65;
  }
}

/* keep responsive behavior below desktop */
@media (min-width:720px) and (max-width:1100px){
  .footer-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:start !important;
  }
  .footer-widget a{
    line-height:1.55;
  }
}


/* =========================================================
   QP NETWORK v8 — FINAL FOOTER GRID LOCK
   720px and above: EXACTLY 1 ROW × 4 COLUMNS
   No 3-column footer layout is permitted.
   ========================================================= */
@media (min-width: 720px) {
  footer .wrap.footer-grid {
    display: grid !important;
    grid-template-columns:
      minmax(0, 1.45fr)
      minmax(0, 0.95fr)
      minmax(0, 1.05fr)
      minmax(0, 0.95fr) !important;
    grid-template-rows: auto !important;
    grid-auto-flow: column !important;
    grid-auto-columns: unset !important;
    gap: 44px !important;
    align-items: start !important;
    width: min(1280px, calc(100% - 48px)) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
  }

  footer .footer-widget {
    grid-column: auto !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    align-self: start !important;
  }
}

/* Responsive phones: never use 3 columns */
@media (min-width: 521px) and (max-width: 719px) {
  footer .wrap.footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 28px 24px !important;
  }
  footer .footer-widget {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 520px) {
  footer .wrap.footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 26px !important;
  }
  footer .footer-widget {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}


/* ==========================================================
   QP NETWORK v10 — NON-ENGLISH HEADING SCALE
   Actual font-size is calculated by main.js.
   Malayalam / Hindi / Tamil / Kannada / Urdu headings are
   EXACTLY 50% of their English/CSS heading size at the same
   viewport width on every page.
   ========================================================== */
html[data-heading-scale="half"] h1,
html[data-heading-scale="half"] h2,
html[data-heading-scale="half"] h3,
html[data-heading-scale="half"] h4,
html[data-heading-scale="half"] h5,
html[data-heading-scale="half"] h6,
html[data-heading-scale="half"] .eyebrow,
html[data-heading-scale="half"] .kicker,
html[data-heading-scale="half"] .ftitle,
html[data-heading-scale="half"] .opcard .top,
html[data-heading-scale="half"] .section-title,
html[data-heading-scale="half"] .hero-title,
html[data-heading-scale="half"] .page-title{
  letter-spacing:normal;
}


/* ==========================================================
   QP NETWORK v11 — ALL LANGUAGES HEADING SCALE
   English, Malayalam, Hindi, Tamil, Kannada and Urdu:
   ALL headings render at EXACTLY 50% of the original
   responsive CSS heading size on every page.
   Actual font-size is calculated in main.js.
   ========================================================== */
html[data-heading-scale="half-all"] h1,
html[data-heading-scale="half-all"] h2,
html[data-heading-scale="half-all"] h3,
html[data-heading-scale="half-all"] h4,
html[data-heading-scale="half-all"] h5,
html[data-heading-scale="half-all"] h6,
html[data-heading-scale="half-all"] .eyebrow,
html[data-heading-scale="half-all"] .kicker,
html[data-heading-scale="half-all"] .ftitle,
html[data-heading-scale="half-all"] .opcard .top,
html[data-heading-scale="half-all"] .section-title,
html[data-heading-scale="half-all"] .hero-title,
html[data-heading-scale="half-all"] .page-title{
  letter-spacing:normal;
}


/* ==========================================================
   QP NETWORK v12 — SUBHEADING SIZE RESTORED
   Main headings remain at 50% as requested.
   Eyebrow / kicker subheadings are restored to their
   original responsive CSS size across every language/page.
   ========================================================== */
html .eyebrow,
html .kicker{
  font-size:11px !important;
  line-height:1.35 !important;
}

/* Slightly larger on compact mobile screens for readability */
@media(max-width:680px){
  html .eyebrow,
  html .kicker{
    font-size:11px !important;
  }
}


/* ==========================================================
   QP NETWORK v13 — MAIN HEADING ONLY
   - Main page heading (H1): 50% of current V12 size
     = 25% of original responsive CSS size.
   - H2-H6 / secondary headings: remain at current V12 size
     = 50% of original CSS size.
   - Eyebrow / kicker subheadings: unchanged at original 11px.
   - Normal body text: unchanged.
   ========================================================== */
html[data-heading-scale="main-quarter-secondary-half"] h1{
  letter-spacing:normal;
}


/* ==========================================================
   QP NETWORK v14 — MAIN HEADING BOLD
   Only the main page/hero heading is bold.
   Existing heading sizes, subheadings and body text are unchanged.
   ========================================================== */
h1,
.hero-title,
.page-title{
  font-weight:700 !important;
}


/* ==========================================================
   QP NETWORK v17 — LOCKED TYPOGRAPHY SYSTEM
   Applies equally to ALL supported languages.

   DESKTOP:
   Main Heading : 32px
   Sub Heading  : 14px
   Normal Text  : 18px

   TABLET:
   Main Heading : 28px
   Sub Heading  : 13px
   Normal Text  : 17px

   MOBILE:
   Main Heading : 24px
   Sub Heading  : 12px
   Normal Text  : 16px

   Language selection DOES NOT alter text size.
   ========================================================== */

/* MAIN HEADINGS */
html body .hero h1,
html body .pagehero h1,
html body .split h2,
html body .darksec h2,
html body h1.page-title,
html body .hero-title,
html body .section-title{
  font-size:32px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:-0.015em !important;
}

/* SUB HEADINGS / SECTION LABELS */
html body .eyebrow,
html body .kicker{
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
}

/* NORMAL PARAGRAPH TEXT */
html body .lead,
html body .copy,
html body .section > .wrap > p,
html body .section p,
html body .pagehero p{
  font-size:18px !important;
  line-height:1.75 !important;
}

/* Supporting component typography */
html body .card h3{
  font-size:20px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
html body .card p,
html body .notice{
  font-size:15px !important;
  line-height:1.65 !important;
}
html body .flow strong{
  font-size:22px !important;
  line-height:1.35 !important;
}
html body .flow p{
  font-size:14px !important;
  line-height:1.6 !important;
}

/* TABLET */
@media (min-width:720px) and (max-width:1100px){
  html body .hero h1,
  html body .pagehero h1,
  html body .split h2,
  html body .darksec h2,
  html body h1.page-title,
  html body .hero-title,
  html body .section-title{
    font-size:28px !important;
  }

  html body .eyebrow,
  html body .kicker{
    font-size:13px !important;
  }

  html body .lead,
  html body .copy,
  html body .section > .wrap > p,
  html body .section p,
  html body .pagehero p{
    font-size:17px !important;
  }

  html body .card h3{
    font-size:19px !important;
  }

  html body .card p,
  html body .notice{
    font-size:15px !important;
  }
}

/* MOBILE */
@media (max-width:719px){
  html body .hero h1,
  html body .pagehero h1,
  html body .split h2,
  html body .darksec h2,
  html body h1.page-title,
  html body .hero-title,
  html body .section-title{
    font-size:24px !important;
    line-height:1.3 !important;
  }

  html body .eyebrow,
  html body .kicker{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  html body .lead,
  html body .copy,
  html body .section > .wrap > p,
  html body .section p,
  html body .pagehero p{
    font-size:16px !important;
    line-height:1.7 !important;
  }

  html body .card h3{
    font-size:18px !important;
  }

  html body .card p,
  html body .notice{
    font-size:15px !important;
  }

  html body .flow strong{
    font-size:20px !important;
  }

  html body .flow p{
    font-size:14px !important;
  }
}


/* ==========================================================
   QP NETWORK v18 — LOCKED TYPOGRAPHY
   FINAL APPROVED SCALE

   Desktop : Main 28px Bold | Sub 14px | Normal 18px
   Tablet  : Main 28px Bold | Sub 13px | Normal 17px
   Mobile  : Main 24px Bold | Sub 12px | Normal 16px

   Main headings are bold on every page and every language.
   ========================================================== */

/* DESKTOP */
@media (min-width:1101px){
  html body .hero h1,
  html body .pagehero h1,
  html body .split h2,
  html body .darksec h2,
  html body h1.page-title,
  html body .hero-title,
  html body .section-title{
    font-size:28px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
  }

  html body .eyebrow,
  html body .kicker{
    font-size:14px !important;
  }

  html body .lead,
  html body .copy,
  html body .section > .wrap > p,
  html body .section p,
  html body .pagehero p{
    font-size:18px !important;
  }
}

/* TABLET */
@media (min-width:720px) and (max-width:1100px){
  html body .hero h1,
  html body .pagehero h1,
  html body .split h2,
  html body .darksec h2,
  html body h1.page-title,
  html body .hero-title,
  html body .section-title{
    font-size:28px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
  }

  html body .eyebrow,
  html body .kicker{
    font-size:13px !important;
  }

  html body .lead,
  html body .copy,
  html body .section > .wrap > p,
  html body .section p,
  html body .pagehero p{
    font-size:17px !important;
  }
}

/* MOBILE */
@media (max-width:719px){
  html body .hero h1,
  html body .pagehero h1,
  html body .split h2,
  html body .darksec h2,
  html body h1.page-title,
  html body .hero-title,
  html body .section-title{
    font-size:24px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
  }

  html body .eyebrow,
  html body .kicker{
    font-size:12px !important;
  }

  html body .lead,
  html body .copy,
  html body .section > .wrap > p,
  html body .section p,
  html body .pagehero p{
    font-size:16px !important;
  }
}


/* ==========================================================
   QP NETWORK v19 — INDIA-WIDE POSITIONING
   Home signal strip now shows only:
   Public Network | Digital System
   Current Stage and Initial Geography blocks are removed.
   ========================================================== */
.signal-grid.signal-grid-two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.signal-grid.signal-grid-two .signal-item:first-child{
  border-left:1px solid rgba(255,255,255,.09);
}
@media(max-width:680px){
  .signal-grid.signal-grid-two{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   QP NETWORK v20 — NEW WHITE/GOLD TRANSPARENT LOGO
   Same full logo is used in Header and Footer.
   ========================================================== */

.full-logo-brand{
  display:flex !important;
  align-items:center !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  gap:0 !important;
  min-width:0 !important;
}

.full-brand-logo{
  display:block !important;
  object-fit:contain !important;
  object-position:left center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Header logo */
.header-full-logo{
  width:210px !important;
  height:auto !important;
  max-height:66px !important;
}

header nav.wrap{
  min-height:82px;
}

/* Footer logo */
.footer-logo-brand{
  width:max-content !important;
  max-width:100% !important;
  margin-bottom:14px !important;
}

.footer-full-logo{
  width:300px !important;
  height:auto !important;
  max-width:100% !important;
}

/* Do not let legacy .brand img rules add a white tile behind the logo */
.brand.full-logo-brand img{
  width:auto;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Tablet */
@media (min-width:720px) and (max-width:1100px){
  .header-full-logo{
    width:185px !important;
    max-height:60px !important;
  }
  .footer-full-logo{
    width:250px !important;
  }
}

/* Mobile */
@media (max-width:719px){
  header nav.wrap{
    min-height:72px;
  }
  .header-full-logo{
    width:165px !important;
    max-height:54px !important;
  }
  .footer-full-logo{
    width:240px !important;
  }
}


/* ==========================================================
   QP NETWORK v22 — VERIFIED HOME SIGNAL FIX
   Current Stage and Initial Geography are physically removed
   from index.html. Only Public Network + Digital System remain.
   ========================================================== */
section.signal .signal-grid.signal-grid-two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
}
section.signal .signal-grid.signal-grid-two > .signal-item{
  grid-row:1 !important;
}
@media(max-width:680px){
  section.signal .signal-grid.signal-grid-two{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  section.signal .signal-grid.signal-grid-two > .signal-item{
    grid-row:auto !important;
  }
}


/* ==========================================================
   QP NETWORK v23 — HOME SIGNAL TEXT CENTER ALIGN
   Public Network and Digital System text are center-aligned.
   ========================================================== */
section.signal .signal-grid.signal-grid-two > .signal-item{
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
}
section.signal .signal-grid.signal-grid-two > .signal-item small,
section.signal .signal-grid.signal-grid-two > .signal-item span,
section.signal .signal-grid.signal-grid-two > .signal-item strong,
section.signal .signal-grid.signal-grid-two > .signal-item b{
  text-align:center !important;
}


/* ==========================================================
   QP NETWORK v24 — PICKUP WHATSAPP + EMAIL ACTIONS
   ========================================================== */
.pickup-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:center;
}

.pickup-actions .btn{
  width:100%;
  min-height:58px;
  margin:0;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
}

.pickup-actions .pickup-send-whatsapp{
  background:#1b6a57;
  color:#fff;
  border:1px solid #1b6a57;
}

.pickup-actions .pickup-send-email{
  background:#fff;
  color:#0e3d33;
  border:1px solid rgba(14,61,51,.22);
}

.pickup-actions .pickup-send-whatsapp:hover,
.pickup-actions .pickup-send-email:hover{
  transform:translateY(-1px);
}

@media(max-width:680px){
  .pickup-actions{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   QP NETWORK v25 — GOOGLE MAP PICKUP LOCATION PICKER
   ========================================================== */
.map-location-field{
  grid-column:1 / -1;
}

.map-help{
  margin:6px 0 12px;
  font-size:14px !important;
  line-height:1.6 !important;
  color:var(--muted);
}

.map-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.current-location-btn{
  width:auto !important;
  min-height:46px !important;
  padding:10px 18px !important;
}

.pickup-map{
  width:100%;
  height:380px;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#eef2ef;
  position:relative;
}

.map-placeholder{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  color:var(--muted);
  font-size:15px;
}

.selected-location{
  display:flex;
  gap:10px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(27,106,87,.08);
  border:1px solid rgba(27,106,87,.14);
}

.selected-location strong{
  color:var(--deep);
}

.selected-location span{
  color:var(--muted);
  word-break:break-word;
}

@media(max-width:719px){
  .pickup-map{
    height:300px;
    border-radius:14px;
  }
}


/* ==========================================================
   QP NETWORK v26 — WHATSAPP LOCATION (NO GOOGLE MAPS API)
   Embedded map removed. Browser current location is converted
   to a Google Maps link and sent via WhatsApp/Email.
   ========================================================== */

.map-location-field{
  grid-column:1 / -1;
}

.map-actions{
  margin:12px 0;
}

.current-location-btn{
  width:auto !important;
  min-height:48px !important;
  padding:10px 20px !important;
}

.selected-location{
  margin-top:12px;
}

.open-location-link{
  display:inline-flex !important;
  width:auto !important;
  margin-top:10px !important;
  min-height:44px !important;
  padding:9px 16px !important;
}

.open-location-link[hidden]{
  display:none !important;
}

/* Hide any legacy embedded-map block if an old cached HTML page survives */
#pickupMap,
.pickup-map,
.map-placeholder{
  display:none !important;
}


/* ==========================================================
   QP NETWORK v27 — CONTACT PAGE EMAIL TYPOGRAPHY + BUTTON ORDER
   Official email uses the approved Normal Text scale.
   ========================================================== */

.contact-email-value{
  margin:12px 0 !important;
  font-size:18px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}

.contact-email-value .email{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media (min-width:720px) and (max-width:1100px){
  .contact-email-value{
    font-size:17px !important;
  }
}

@media (max-width:719px){
  .contact-email-value{
    font-size:16px !important;
    line-height:1.6 !important;
  }
}


/* ==========================================================
   QP NETWORK v28 — CONTACT + LOCATION CLEANUP
   ========================================================== */

/* Smaller official email address */
.contact-email-value{
  margin:10px 0 !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.contact-email-value .email{
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

/* Request Pickup is the green primary CTA */
.copy .actions .contact-request-primary{
  background:#1b6a57 !important;
  color:#fff !important;
  border-color:#1b6a57 !important;
}
.copy .actions .contact-request-primary:hover{
  background:#155846 !important;
  color:#fff !important;
  border-color:#155846 !important;
}

/* Open Location button removed */
#openSelectedLocation,
.open-location-link{
  display:none !important;
}

@media (min-width:720px) and (max-width:1100px){
  .contact-email-value{font-size:14px !important;}
}
@media (max-width:719px){
  .contact-email-value{
    font-size:14px !important;
    line-height:1.55 !important;
  }
}


/* ==========================================================
   QP NETWORK v29 — CURRENT LOCATION + COPY TO NOTES
   ========================================================== */

/* Use My Current Location -> green background */
.current-location-btn{
  background:#1b6a57 !important;
  color:#ffffff !important;
  border-color:#1b6a57 !important;
  font-weight:700 !important;
}

.current-location-btn:hover{
  background:#155846 !important;
  color:#ffffff !important;
  border-color:#155846 !important;
}

.current-location-btn:disabled{
  opacity:.65;
  cursor:wait;
}

/* Copy to Notes appears only after location has been detected */
.copy-location-notes{
  display:inline-flex !important;
  width:auto !important;
  margin-top:10px !important;
  min-height:44px !important;
  padding:9px 18px !important;
  background:#ffffff !important;
  color:#0e3d33 !important;
  border:1px solid rgba(14,61,51,.24) !important;
}

.copy-location-notes[hidden]{
  display:none !important;
}


/* ==========================================================
   QP NETWORK v30 — ADDRESS FIELD + COPY TO NOTES
   ========================================================== */

.address-field{
  grid-column:1 / -1 !important;
}

.address-field textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
}

.address-actions{
  margin-top:10px;
}

.copy-address-notes{
  display:inline-flex !important;
  width:auto !important;
  min-height:44px !important;
  padding:9px 18px !important;
  background:#ffffff !important;
  color:#0e3d33 !important;
  border:1px solid rgba(14,61,51,.24) !important;
}

.copy-address-notes[hidden]{
  display:none !important;
}


/* ==========================================================
   QP NETWORK v31 — SINGLE COPY TO NOTES BUTTON
   One button copies Address + Current Location together.
   ========================================================== */

.copy-all-notes-field{
  grid-column:1 / -1 !important;
  margin-top:2px;
}

.copy-all-notes{
  display:inline-flex !important;
  width:auto !important;
  min-height:46px !important;
  padding:10px 20px !important;
  background:#1b6a57 !important;
  color:#ffffff !important;
  border:1px solid #1b6a57 !important;
  font-weight:700 !important;
}

.copy-all-notes:hover{
  background:#155846 !important;
  border-color:#155846 !important;
  color:#ffffff !important;
}

/* Legacy separate buttons are not used in v31 */
#copyAddressToNotes,
#copyLocationToNotes,
.copy-address-notes,
.copy-location-notes{
  display:none !important;
}


/* ==========================================================
   QP NETWORK v32 — MOBILE CHECKBOX + LANGUAGE SELECT UX FIX
   Fixes confirmation checkbox text squeezing on mobile.
   Applies consistently to all language versions.
   ========================================================== */

label.checkbox-line{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  column-gap:12px !important;
  align-items:start !important;
  width:100% !important;
  margin-top:18px !important;
  margin-bottom:0 !important;
  color:#244b41;
  font-size:15px !important;
  line-height:1.7 !important;
  text-align:start;
}

label.checkbox-line > input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  height:22px !important;
  min-height:22px !important;
  padding:0 !important;
  margin:3px 0 0 !important;
  flex:0 0 22px !important;
  justify-self:start;
}

label.checkbox-line > span{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

.navlinks select[class$="-language-select"]{
  min-width:86px !important;
  width:auto !important;
  max-width:110px !important;
}

@media(max-width:719px){
  label.checkbox-line{
    grid-template-columns:24px minmax(0,1fr) !important;
    column-gap:12px !important;
    font-size:14.5px !important;
    line-height:1.72 !important;
  }

  label.checkbox-line > input[type="checkbox"]{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
  }
}


/* ==========================================================
   QP NETWORK v33 — HEADER MENU + LANGUAGE LETTER + DARK COLUMN FIX
   Requested header order:
   Home / QPN / Process / Preservation / Collection /
   Vehicle Time / Onsite / Contact / Language
   ========================================================== */

/* Give the expanded desktop menu enough usable width without
   changing the content width of the rest of the website. */
header nav.wrap{
  width:min(1480px,calc(100% - 36px));
}

header .navlinks{
  gap:clamp(10px,1vw,18px);
  min-width:0;
}

header .navlinks > a{
  white-space:nowrap;
  font-size:12.5px;
}

/* Closed state shows only the first letter of the CURRENT language.
   The native select is transparent but remains the full click/focus target,
   so opening it still shows all seven full language names. */
.language-picker{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-width:42px;
  height:42px;
  flex:0 0 42px;
  color:#fff;
  border-radius:10px;
}

.language-current{
  display:block;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font:inherit;
  font-size:18px;
  font-weight:600;
  line-height:1;
  pointer-events:none;
}

.language-picker select[class$="-language-select"]{
  position:absolute !important;
  inset:0 !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
  z-index:2;
}

.language-picker:focus-within{
  outline:1px solid rgba(227,198,117,.72);
  outline-offset:2px;
}

/* Requested dark-section readability:
   make the SECOND COLUMN's direct running text fully white.
   Deliberately does not recolor nested light cards/forms. */
.darksec .split > :nth-child(2){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.darksec .split > :nth-child(2) > p,
.darksec .split > :nth-child(2) > ul,
.darksec .split > :nth-child(2) > ol,
.darksec .split > :nth-child(2) > ul > li,
.darksec .split > :nth-child(2) > ol > li,
.darksec .split > :nth-child(2) > strong,
.darksec .split > :nth-child(2) > span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* Compact desktop transition before mobile navigation takes over. */
@media (min-width:1101px) and (max-width:1280px){
  header nav.wrap{
    width:min(1240px,calc(100% - 28px));
  }
  header .header-full-logo{
    width:185px !important;
  }
  header .navlinks{
    gap:10px;
  }
  header .navlinks > a{
    font-size:11.5px;
  }
}

/* Existing mobile breakpoint is <= 1100px. */
@media(max-width:1100px){
  header .language-picker{
    margin-top:12px;
    margin-inline-start:8px;
    width:42px;
    min-width:42px;
  }
}


/* ==========================================================
   QP NETWORK v34 — CENTERED DESKTOP HEADER ALIGNMENT
   Matches the requested reference:
   - logo and menu live inside one centered content band
   - no extreme left/right desktop spread
   - existing mobile hamburger behaviour remains unchanged
   ========================================================== */

@media (min-width:1101px){
  header nav.wrap{
    width:min(1280px,calc(100% - 40px)) !important;
    max-width:1280px !important;
    margin-inline:auto !important;
    min-height:82px !important;
    display:flex !important;
    align-items:center !important;
    gap:24px !important;
  }

  header .header-brand{
    flex:0 0 auto !important;
    margin:0 !important;
  }

  header .header-full-logo{
    width:190px !important;
    max-height:64px !important;
  }

  header .navlinks{
    margin-inline-start:auto !important;
    margin-inline-end:0 !important;
    gap:clamp(11px,.85vw,16px) !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }

  header .navlinks > a{
    white-space:nowrap !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  header .language-picker{
    margin-inline-start:2px !important;
  }
}

/* Slightly tighter fit near the desktop/mobile breakpoint. */
@media (min-width:1101px) and (max-width:1320px){
  header nav.wrap{
    width:min(1180px,calc(100% - 32px)) !important;
    max-width:1180px !important;
    gap:18px !important;
  }

  header .header-full-logo{
    width:180px !important;
    max-height:60px !important;
  }

  header .navlinks{
    gap:10px !important;
  }

  header .navlinks > a{
    font-size:11.25px !important;
  }
}


/* ==========================================================
   QP NETWORK v35 — PICKUP GPS REVERSE-GEOCODE AUTOFILL
   ========================================================== */
#pickupForm .gps-autofill-block{
  grid-column:1/-1;
  border:1px solid rgba(27,93,76,.16);
  background:rgba(27,93,76,.055);
  border-radius:16px;
  padding:16px 18px;
}
#pickupForm .gps-autofill-block .gps-location-label{
  display:block;
  margin-bottom:6px;
  font-weight:800;
  color:#123f35;
}
#pickupForm .gps-autofill-block .gps-autofill-help{
  margin:0 0 12px;
  color:#4d665f;
  line-height:1.65;
}
#pickupForm .gps-autofill-block .location-row{margin-top:0}
#pickupForm .gps-autofill-block .location-status{
  min-width:0;
  overflow-wrap:anywhere;
}
#pickupForm .gps-autofill-block .location-status.is-loading{font-weight:700}
#pickupForm .gps-autofill-block .location-status.is-success{
  color:#155d4b;
  font-weight:700;
}
#pickupForm .gps-autofill-block .location-status.is-error{
  color:#8b2e2e;
  font-weight:700;
}
#pickupForm .gps-attribution{
  margin:10px 0 0;
  font-size:.78rem;
  line-height:1.55;
  color:#62756f;
}
#pickupForm .gps-attribution a{
  color:#155d4b;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:680px){
  #pickupForm .gps-autofill-block{padding:14px}
  #pickupForm .gps-autofill-block .location-row{
    align-items:stretch;
    flex-direction:column;
  }
  #pickupForm .gps-autofill-block .location-row .btn{width:100%}
}


/* ==========================================================
   QP NETWORK v8 — DESKTOP HEADER TEXT + ONSITE GPS BUTTON
   2026-08-26
   ========================================================== */

/* Requested: desktop header menu links 50% larger than the
   immediately preceding final desktop values.
   >=1321px: 12px × 1.5 = 18px
   1101–1320px: 11.25px × 1.5 = 16.875px
   Tablet/mobile menu typography is intentionally unchanged. */
@media (min-width:1321px){
  header .navlinks > a{
    font-size:18px !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  header .navlinks > a{
    font-size:16.875px !important;
  }
}

/* Requested: Current Location button on every Onsite/Pickup
   language page uses the site theme green with white text. */
#pickupForm #getLocation{
  background:var(--green) !important;
  border-color:var(--green) !important;
  color:var(--white) !important;
  -webkit-text-fill-color:var(--white) !important;
  box-shadow:none !important;
}

#pickupForm #getLocation:hover,
#pickupForm #getLocation:focus-visible{
  background:var(--deep) !important;
  border-color:var(--deep) !important;
  color:var(--white) !important;
  -webkit-text-fill-color:var(--white) !important;
}


/* QPN GLOBAL CTA BUTTON THEME - 2026-08-31
   Requested global rule: all normal CTA/action buttons use QP green with white text.
   Utility controls (mobile menu, WhatsApp float, scroll-to-top, scan status) are intentionally untouched. */
.btn,
a.btn,
button.btn,
.qpn-btn,
button.reset-btn {
  background:#1b6a57 !important;
  border-color:#1b6a57 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.btn:hover,
.btn:focus-visible,
a.btn:hover,
a.btn:focus-visible,
button.btn:hover,
button.btn:focus-visible,
.qpn-btn:hover,
.qpn-btn:focus-visible,
button.reset-btn:hover,
button.reset-btn:focus-visible {
  background:#155846 !important;
  border-color:#155846 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* QPN PHASE 1 + SPONSOR JOURNEY + MOBILE CENTER ALIGNMENT - 2026-08-31 */
.phase-note,.sponsor-hero-note{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:9px 13px;border:1px solid rgba(227,198,117,.32);border-radius:999px;color:#fff;background:rgba(255,255,255,.07);font-size:.82rem;font-weight:700}
.phase-note::before,.sponsor-hero-note::before{content:"✓";color:#e3c675;font-weight:900}
.phase-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:28px}
.phase-card{padding:22px 18px;border:1px solid rgba(18,74,60,.14);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,63,51,.05)}
.phase-no{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:rgba(27,93,76,.1);color:#1b5d4c;font-weight:800;margin-bottom:12px}
.phase-card h3{margin:0 0 8px;color:#123f35;font-size:1rem}.phase-card p{margin:0;color:#4f6f67;font-size:.9rem}
.phase-metric-grid,.phase-fin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.phase-metric,.phase-fin{padding:22px 18px;border-radius:18px;text-align:center}.darksec .phase-metric{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06)}
.phase-metric strong,.phase-fin strong{display:block;font-family:Georgia,serif;font-size:1.75rem;line-height:1.1;margin-bottom:8px}.darksec .phase-metric strong{color:#e3c675}.darksec .phase-metric span{color:rgba(255,255,255,.78)}
.phase-fin{border:1px solid rgba(18,74,60,.14);background:#fff;box-shadow:0 10px 28px rgba(15,63,51,.05)}.phase-fin strong{color:#123f35}.phase-fin span{color:#4f6f67}
.phase-warning{margin-top:22px;padding:18px 20px;border:1px solid rgba(193,151,45,.38);background:rgba(227,198,117,.12);border-radius:16px;color:#4b492f;font-weight:700}
.phase-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.phase-step{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.06)}.phase-step>span{display:inline-flex;flex:0 0 32px;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;background:#e3c675;color:#123f35;font-weight:900}.phase-step strong{display:block;color:#fff;margin-bottom:4px}.phase-step small{color:rgba(255,255,255,.7)}
.phase-funding{background:linear-gradient(180deg,rgba(227,198,117,.08),rgba(27,93,76,.04))}
.journey-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:28px}.journey-step{position:relative;padding:22px 18px;border:1px solid rgba(18,74,60,.14);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,63,51,.05)}.journey-step .step-no{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:rgba(27,93,76,.1);color:#1b5d4c;font-weight:800;margin-bottom:14px}.journey-step h3{margin:0 0 8px;color:#123f35;font-size:1rem}.journey-step p{margin:0;color:#4f6f67;font-size:.9rem}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.sponsor-card{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid rgba(18,74,60,.14);border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(15,63,51,.06)}.sponsor-card.featured{border-color:rgba(193,151,45,.5);box-shadow:0 16px 38px rgba(107,78,13,.1)}.sponsor-amount{font-family:Georgia,serif;font-size:2rem;color:#123f35;line-height:1;margin:5px 0 12px}.sponsor-label{font-weight:800;color:#1b5d4c;margin-bottom:8px}.sponsor-card p{margin:0 0 18px;color:#4f6f67}.sponsor-card .btn{margin-top:auto;align-self:flex-start}
.policy-box{padding:26px;border:1px solid rgba(27,93,76,.16);border-radius:20px;background:rgba(27,93,76,.06)}.policy-box strong{display:block;color:#123f35;font-size:1.05rem;margin-bottom:8px}.fund-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.fund-item{padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05)}.fund-item strong{display:block;color:#e3c675;margin-bottom:8px}.fund-item p{margin:0;color:rgba(255,255,255,.72)}.status-panel{padding:26px;border:1px solid rgba(18,74,60,.14);border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(15,63,51,.06)}.status-panel .status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(27,93,76,.08);color:#123f35;font-weight:800;margin-bottom:14px}.status-panel .status-pill::before{content:"";width:9px;height:9px;border-radius:50%;background:#d4ad4b}.phase-sponsor-link{margin-top:22px;justify-content:center}
@media(max-width:1100px){.phase-card-grid,.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-metric-grid,.phase-fin-grid,.sponsor-grid,.fund-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:719px){.phase-card-grid,.journey-grid,.phase-metric-grid,.phase-fin-grid,.sponsor-grid,.fund-grid,.phase-timeline{grid-template-columns:1fr}.sponsor-card{min-height:0}}

/* Requested mobile presentation: titles, normal page text and action buttons centered site-wide.
   Form-control entry text remains left/start aligned for usability. */
@media(max-width:768px){
  main,footer{ text-align:center !important; }
  main h1,main h2,main h3,main h4,main h5,main h6,
  main p,main .lead,main .kicker,main .eyebrow,main .copy,main small,
  main .section-note,main .note,main .motto,main label,
  footer p,footer .ftitle,footer .flinks,footer .bottom{ text-align:center !important; }
  main .actions,main .cta-row,main .button-row{ justify-content:center !important; align-items:center !important; }
  main .btn,main a.btn,main button.btn,main .qpn-btn{ margin-inline:auto !important; align-self:center !important; }
  main .split>*,main .hero-grid>*,main article,main .card,main .opcard,
  main .phase-card,main .phase-fin,main .phase-metric,main .journey-step,main .sponsor-card,
  main .fund-item,main .status-panel,main .policy-box{ text-align:center !important; }
  main ul,main ol{ padding-inline:0 !important; list-style-position:inside !important; text-align:center !important; }
  main li{ text-align:center !important; }
  main table th,main table td{ text-align:center !important; }
  footer .footer-grid{ text-align:center !important; }
  footer .flinks a,footer .foot-email,footer .footer-brand-widget{ text-align:center !important; }
  header .navlinks.open a{ text-align:center !important; }
  input,textarea,select{ text-align:start; }
}

/* ==========================================================
   QP NETWORK v38 — PHASE 1 HEADER VISIBILITY / DESKTOP FIT
   2026-08-31
   Ensures Contact -> Phase 1 -> language picker remains visible
   on all seven language sites without removing any menu item.
   ========================================================== */
@media (min-width:1101px){
  header nav.wrap{
    width:min(1540px,calc(100% - 24px)) !important;
    max-width:1540px !important;
    gap:clamp(12px,1vw,20px) !important;
  }
  header .header-full-logo{
    width:clamp(150px,11.5vw,175px) !important;
    max-height:62px !important;
  }
  header .navlinks{
    gap:clamp(7px,.62vw,11px) !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    justify-content:flex-end !important;
  }
  header .navlinks > a{
    font-size:clamp(13px,.98vw,15.5px) !important;
    letter-spacing:0 !important;
    flex:0 0 auto !important;
  }
  header .navlinks > a[href$="/phase-1.html"]{
    color:var(--gold) !important;
    font-weight:650 !important;
  }
  header .language-picker{
    flex:0 0 38px !important;
    width:38px !important;
    min-width:38px !important;
    height:40px !important;
    margin-inline-start:0 !important;
  }
  header .language-picker select[class$="-language-select"]{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:40px !important;
  }
}

@media (min-width:1101px) and (max-width:1280px){
  header nav.wrap{
    width:calc(100% - 16px) !important;
    max-width:none !important;
    gap:10px !important;
  }
  header .header-full-logo{
    width:145px !important;
    max-height:56px !important;
  }
  header .navlinks{
    gap:6px !important;
  }
  header .navlinks > a{
    font-size:12.4px !important;
  }
  header .language-picker{
    width:34px !important;
    min-width:34px !important;
    flex-basis:34px !important;
  }
}

/* Keep mobile menu centered and Phase 1 fully visible. */
@media(max-width:1100px){
  header .navlinks.open > a{
    display:block !important;
    width:100% !important;
    text-align:center !important;
  }
  header .navlinks.open > a[href$="/phase-1.html"]{
    color:#123f35 !important;
    -webkit-text-fill-color:#123f35 !important;
    font-weight:750 !important;
    background:rgba(227,198,117,.10) !important;
  }
}


/* QPN PHASE 1 PROFESSIONAL PUBLIC COPY + NOTE VISIBILITY - 2026-08-31 */
.phase-note{
  color:#123f35 !important;
  -webkit-text-fill-color:#123f35 !important;
  background:rgba(255,255,255,.88) !important;
  border-color:rgba(193,151,45,.38) !important;
  box-shadow:0 6px 18px rgba(18,63,53,.06);
}
.phase-note::before{color:#c49a2d !important;}
@media(max-width:768px){
  .phase-note{justify-content:center !important;width:100% !important;box-sizing:border-box;}
}


/* QPN Sponsor UPI QR slots v40 */
.sponsor-card .sponsor-upi-qr{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
}
.sponsor-card .sponsor-upi-qr-image{
  width:min(190px,72%);
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
  border:1px solid rgba(18,74,60,.18);
  border-radius:18px;
  padding:10px;
  box-shadow:0 8px 24px rgba(8,55,45,.08);
}
.sponsor-card .sponsor-upi-qr-caption{
  color:#123f35;
  font-weight:700;
  line-height:1.55;
  max-width:260px;
}
.sponsor-card .sponsor-upi-qr-pending{
  color:#6f7f79;
  font-size:.82rem;
  line-height:1.5;
  max-width:260px;
}
.darksec .sponsor-card .sponsor-upi-qr-caption{color:#123f35;}
@media(max-width:700px){
  .sponsor-card .sponsor-upi-qr-image{width:min(210px,78%);}
  .sponsor-card .sponsor-upi-qr-caption,
  .sponsor-card .sponsor-upi-qr-pending{margin-left:auto;margin-right:auto;text-align:center;}
}


/* ==========================================================
   QPN v40.0.2 — ML/TA MOBILE LANGUAGE BUTTONS
   2026-09-14
   The desktop native language picker is preserved.
   On mobile/tablet, Malayalam and Tamil pages receive a
   visible, reliable seven-language button grid created by JS.
   ========================================================== */

.qpn-mobile-language-buttons{
  display:none;
}

@media(max-width:1100px){
  header .navlinks.qpn-mobile-lang-ready .language-picker{
    display:none !important;
  }

  header .navlinks.qpn-mobile-lang-ready .qpn-mobile-language-buttons{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin:12px 0 2px;
    padding:0;
    box-sizing:border-box;
  }

  header .qpn-mobile-language-button{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-width:0;
    min-height:48px;
    padding:11px 8px !important;
    margin:0 !important;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#123f35 !important;
    -webkit-text-fill-color:#123f35 !important;
    text-decoration:none !important;
    text-align:center !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.25 !important;
    white-space:normal !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    touch-action:manipulation;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(8,40,32,.08);
  }

  header .qpn-mobile-language-button:hover,
  header .qpn-mobile-language-button:focus-visible{
    background:#f3faf7 !important;
    border-color:rgba(227,198,117,.72) !important;
    outline:3px solid rgba(227,198,117,.20);
    outline-offset:2px;
  }

  header .qpn-mobile-language-button.is-current{
    background:#e3c675 !important;
    border-color:#e3c675 !important;
    color:#123f35 !important;
    -webkit-text-fill-color:#123f35 !important;
  }
}

@media(min-width:720px) and (max-width:1100px){
  header .navlinks.qpn-mobile-lang-ready .qpn-mobile-language-buttons{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* QPN v40.0.3 — MOBILE PHASE 1 TEXT VISIBILITY FIX
   Keeps the existing Phase 1 background/border; only makes its label
   use the same readable dark-green family as the other mobile nav text. */
