/* One section, one screen.
   On laptops and desktops (992px and wider) each section fills the window and
   fits inside it, down to a 1280 × 578 window: a 1080p laptop at 150% zoom with
   the browser bars open. Vertical sizes follow the window height (svh), so the
   same section breathes on a tall screen and tightens on a short one. Phones
   and tablets keep their stacked layout. Loads last; `body.v6` lifts each rule
   over the section sheets and their `.v6` overrides. */

@media (min-width: 992px) {

  :root {
    /* One padding for every section, the same above and below its content, so the
       space between any two sections is always the same. */
    --sec-y: clamp(4.4rem, 15.5svh - 50px, 13rem); /* ~40px on a 578px-tall window, ~117px at 1080 */
    --scr-top: var(--sec-y);
    --scr-bot: var(--sec-y);
    --scr-gap: clamp(1.6rem, 3.4svh, 5.2rem);  /* between a section's heading and its content */
  }

  /* ---------- The screen ---------- */
  body.v6 .wk,
  body.v6 .vt,
  body.v6 .aw,
  body.v6 .ct,
  body.v6 .fq,
  body.v6 .rv {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--scr-top);
    padding-bottom: var(--scr-bot);
  }

  body.v6 .et { min-height: 100svh; padding: var(--scr-top) 0 var(--scr-bot); }

  /* Section titles ease down on short windows. */
  body.v6 :is(.wk-title, .vt-title, .aw-title, .fq-title, .rv-title) { font-size: min(5.6rem, 6.4svh); }
  body.v6 .ct-title { font-size: min(7rem, 8.4svh); }
  body.v6 .et-title { font-size: min(6.4rem, 7.6svh); }

  /* ---------- Home and About: the family ----------
     The founder, then the thread down to the directors. Each block fits a screen
     on its own, and they sit together, so the thread runs straight on from him. */
  body.v6 .ab-family { padding-top: 0; padding-bottom: 0; }
  body.v6 .ab-founder { padding-top: var(--scr-top); }
  body.v6 .ab-founder-media .ab-frame { width: min(100%, calc((100svh - var(--scr-top) - var(--scr-bot)) * 585 / 673)); }
  body.v6 .ab-thread { height: clamp(96px, 17svh, 233px); }
  body.v6 .ab-heirs { padding: clamp(1.2rem, 2.4svh, 3.2rem) 0 var(--scr-bot); }

  /* ---------- Home: visit ---------- */
  body.v6 .ct { --over: clamp(3.6rem, 7svh, 11rem); padding-top: calc(var(--sec-y) + var(--over)); }
  body.v6 .ct-box { padding-top: clamp(2.8rem, 6svh, 7rem); padding-bottom: clamp(2.8rem, 6svh, 7rem); }

  /* ---------- Home: questions — heading beside the list ---------- */
  body.v6 .fq-inner { align-items: start; }
  body.v6 .fq-head {
    grid-column: content-start / span 7;
    grid-row: 1;
    display: block;
    margin: 0;
    position: sticky;
    top: var(--scr-top);
  }
  body.v6 .fq-note { margin-top: 2.4rem; max-width: 40ch; }
  body.v6 .fq-list { grid-column: 9 / content-end; grid-row: 1; }
  body.v6 .fq-btn { padding-top: clamp(1.1rem, 2.3svh, 3.4rem); padding-bottom: clamp(1.1rem, 2.3svh, 3.4rem); }
  body.v6 .fq-say { padding-bottom: clamp(1.2rem, 2.4svh, 2.8rem); }

  /* ---------- Home: reviews ---------- */
  body.v6 .rv-head { margin-bottom: var(--scr-gap); }

  /* ---------- About ---------- */
  body.v6 .ab-origin,
  body.v6 .ab-what,
  body.v6 .ab-dept,
  body.v6 .ab-close {
    box-sizing: border-box;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--scr-top) 0 var(--scr-bot);
  }
  /* the visit card and the teams after it are shorter than a screen: they keep their own
     height, so no empty bands open up around the card */
  body.v6 .ab-close { min-height: 0; }
  body.v6 .ab-dept { min-height: 0; }
  body.v6 .ab-title { font-size: min(6.2rem, 7svh); }
  body.v6 .ab-cta-title { font-size: min(5.6rem, 6.4svh); }

  /* where it began: the brick photo never taller than the window */
  body.v6 .ab-origin-media .ab-frame { aspect-ratio: auto; height: min(calc(100svh - var(--scr-top) - var(--scr-bot)), 60rem * 1320 / 1200); }

}

@media (min-width: 992px) {

  /* ---------- The shared heading (career, foundation, projects, NRI, investor, partners) ---------- */
  body.v6 .cr-title:not(.cr-hero-title) { font-size: clamp(34px, min(8.2rem, 7.6svh), 91px); }
  body.v6 .cr-head { margin-bottom: var(--scr-gap); }
  body.v6 .cr-head .cr-eyebrow { margin-bottom: clamp(1rem, 2svh, 2.4rem); }

  /* A heading set to the left of its section, beside the content. */
  body.v6 .scr-head-l,
  body.v6 :is(.pj-hl, .pj-cn, .cr-emi) .cr-head {
    align-items: flex-start;
    text-align: left;
  }
  body.v6 :is(.pj-hl, .pj-cn, .cr-emi) .cr-head .cr-eyebrow { justify-content: flex-start; }
  body.v6 :is(.pj-hl, .pj-cn, .cr-emi) .cr-head .cr-eyebrow i:first-child { display: none; }
  body.v6 :is(.pj-hl, .pj-cn, .cr-emi) .cr-head .cr-lede { margin-inline: 0; }

  /* ---------- Project page: every section a screen ---------- */
  body.v6 :is(.pj-about, .pj-hl, .pj-am, .pj-gal, .pj-cn, .pj-enq, .ec-calc) {
    box-sizing: border-box;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--scr-top);
    padding-bottom: var(--scr-bot);
  }

  /* overview: words on the left; the photo and the figures on the right */
  body.v6 .pj-about-in { flex: 1 1 auto; grid-template-rows: minmax(0, 1fr); align-items: stretch; }
  body.v6 .pj-about-copy { grid-row: 1; align-self: center; }
  body.v6 .pj-about-copy .cr-title { margin-bottom: clamp(1.4rem, 3svh, 3.6rem); }
  body.v6 .pj-about-text p { margin-bottom: clamp(1rem, 1.8svh, 1.8rem); }
  body.v6 :is(.pj-about-media, .pj-about-media.is-wide) { grid-row: 1; position: relative; aspect-ratio: auto; min-height: 180px; }
  body.v6 .pj-about-media img { position: absolute; inset: 0; }

  /* highlights: heading and photo on the left, the list on the right */
  body.v6 .pj-hl-in { flex: 1 1 auto; grid-template-rows: auto minmax(0, 1fr); align-items: stretch; }
  body.v6 .pj-hl .cr-head { grid-column: content-start / span 7; grid-row: 1; }
  body.v6 .pj-hl-media { grid-row: 2; position: relative; top: auto; aspect-ratio: auto; min-height: 160px; }
  body.v6 .pj-hl-media img { position: absolute; inset: 0; }
  body.v6 .pj-hl-list { grid-row: 1 / span 2; align-self: center; }
  body.v6 .pj-hl-row { padding: clamp(.9rem, 1.9svh, 3.4rem) 0; }
  body.v6 .pj-hl-row p { font-size: clamp(17px, min(2.8rem, 3.4svh), 31px); }
  body.v6 .pj-hl-row small { margin-bottom: clamp(.4rem, .9svh, 1rem); }

  /* gallery: the slideshow takes the height the heading and the strip leave */
  body.v6 .pj-gal-in { flex: 1 1 auto; grid-template-rows: auto minmax(0, 1fr); }
  body.v6 .pj-gal-body.has-strip { height: 100%; }
  body.v6 .pj-show { display: flex; flex-direction: column; min-height: 220px; }
  body.v6 .pj-show-stage { aspect-ratio: auto; flex: 1 1 auto; }
  body.v6 .pj-gal-body.has-strip .pj-grid li { width: 100%; }

  /* connectivity: heading and places on the left, the map on the right */
  body.v6 .pj-cn-in { flex: 1 1 auto; grid-template-rows: auto minmax(0, 1fr); align-items: center; }
  body.v6 .pj-cn .cr-head { grid-column: content-start / span 7; grid-row: 1; }
  /* the places share the height the heading leaves, evenly */
  body.v6 .pj-cn-list { grid-row: 2; align-self: stretch; display: flex; flex-direction: column; }
  body.v6 .pj-cn-row { flex: 1 1 auto; align-content: center; padding: clamp(.3rem, .7svh, 1.4rem) 0; }
  body.v6 .pj-cn-name { line-height: 1.3; }
  /* more than seven places: two columns, read down then across */
  body.v6 .pj-cn-list:has(> :nth-child(8)) { display: grid; grid-auto-flow: column; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, 1fr); column-gap: 3.2rem; }
  body.v6 .pj-cn-list:has(> :nth-child(9)) { grid-template-rows: repeat(5, 1fr); }
  body.v6 .pj-cn-list:has(> :nth-child(11)) { grid-template-rows: repeat(6, 1fr); }
  body.v6 .pj-cn-list:has(> :nth-child(13)) { grid-template-rows: repeat(7, 1fr); }
  body.v6 .pj-cn-list:has(> :nth-child(8)) .pj-cn-row { grid-template-columns: 3.6rem minmax(0, 1fr) auto; gap: 1.2rem; }
  body.v6 .pj-cn-name { font-size: clamp(16px, min(2.1rem, 2.9svh), 23px); }
  body.v6 .pj-cn-map { grid-row: 1 / span 2; align-self: center; }
  body.v6 .pj-cn-map figcaption { margin-top: clamp(.8rem, 1.6svh, 2.4rem); }
  body.v6 .pj-rings { --size: min(100%, 58rem, calc(100svh - var(--scr-top) - var(--scr-bot) - 9rem)); } /* room for the caption */

  /* enquiry: the heading centred across the top; the form and the map side by side under it */
  body.v6 .pj-enq-in { flex: 1 1 auto; grid-template-rows: auto minmax(0, 1fr); }
  body.v6 .pj-enq .cr-head { grid-column: content; grid-row: 1; }
  body.v6 .pj-enq-main { grid-row: 2; }
  body.v6 .pj-where { grid-row: 2; gap: clamp(1.2rem, 2.2svh, 2.4rem); }
  body.v6 .pj-map { min-height: 110px; }
  body.v6 .pj-form { padding-top: clamp(1.8rem, 3.4svh, 5.5rem); padding-bottom: clamp(1.8rem, 3.4svh, 5rem); }
  body.v6 .pj-form .cr-fields { row-gap: clamp(1.2rem, 2.2svh, 3rem); }

  /* EMI calculator (project and career pages): heading left, calculator right */
  body.v6 .cr-emi .ec-calc-in { flex: 1 1 auto; align-items: center; }
  body.v6 .cr-emi .cr-head { grid-column: content-start / span 6; grid-row: 1; margin: 0; }
  body.v6 .cr-emi .ec-calc-in > .ec-card { grid-column: 8 / content-end; grid-row: 1; }
  body.v6 .ec-inputs,
  body.v6 .ec-result { padding-top: clamp(2.2rem, 4.2svh, 4.2rem); padding-bottom: clamp(2rem, 3.8svh, 3.8rem); }
  body.v6 .ec-field + .ec-field { margin-top: clamp(1.4rem, 2.6svh, 2.6rem); }
  body.v6 .ec-card-k { margin-bottom: clamp(1.4rem, 2.6svh, 2.6rem); }
}

@media (min-width: 992px) {

  /* ---------- NB Seva Foundation ---------- */
  body.v6 :is(.fd-pillars, .fd-gallery, .fd-close) {
    box-sizing: border-box;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--scr-top);
    padding-bottom: var(--scr-bot);
  }

  /* philosophy: the heading and its boxes, then the quote and the story. Each part
     fits a screen on its own, and they follow on without a gap between them. */
  body.v6 .fd-philo { padding-top: var(--scr-top); padding-bottom: var(--scr-bot); }
  body.v6 .fd-philo-intro { grid-column: 3 / span 14; }
  body.v6 .fd-cards { margin-bottom: clamp(3.6rem, 8svh, 9rem); }

}

@media (min-width: 992px) {

  /* ---------- Page intros and the remaining screens ---------- */
  body.v6 :is(.pa, .bl-open, .bl-lead, .bl-list, .bl-ask, .cx-open, .cx-enq, .cx-visit, .ec-open, .cr-why, .cr-open, .cr-apply, .cp-register) {
    box-sizing: border-box;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--scr-top);
    padding-bottom: var(--scr-bot);
  }
  /* the first section of a page clears the header */
  body.v6 :is(.pa, .bl-open, .cx-open, .ec-open) { padding-top: calc(var(--header-h) + var(--sec-y)); }
  body.v6 :is(.pa-title, .bl-title, .cx-title, .ec-title) { font-size: clamp(34px, min(8.2rem, 7.6svh), 91px); }
  /* a title-only opening (blog, contact, EMI) keeps its own height: no empty screen around the words */
  body.v6 :is(.bl-open, .cx-open, .ec-open) { min-height: 0; }

  body.v6 .cx-form { padding-top: clamp(2rem, 4svh, 5.5rem); padding-bottom: clamp(2rem, 3.6svh, 5rem); }
  body.v6 .cx-steps { margin-bottom: clamp(1.2rem, 2svh, 4rem); }
  body.v6 .cx-step-title { margin-bottom: clamp(1.2rem, 2.4svh, 2.8rem); }
  body.v6 .cx-visit-in { flex: 1 1 auto; }
  body.v6 .cx-h2 { font-size: clamp(34px, min(8.2rem, 7.6svh), 91px); }
  body.v6 .cx-info { margin-top: clamp(1.2rem, 2.2svh, 3.4rem); row-gap: clamp(1rem, 1.8svh, 2.6rem); }
  body.v6 .cx-map { min-height: 0; }

  /* career: openings and the application */
  body.v6 .cr-open .cr-head { padding-top: 0; }
  body.v6 .cr-list { margin-bottom: 0; }
  body.v6 .cr-role { padding-top: clamp(1.6rem, 3svh, 4rem); padding-bottom: clamp(1.6rem, 3svh, 4rem); }
  body.v6 .cr-apply-in { align-items: center; }
  body.v6 .cr-apply .cr-head { grid-column: content-start / span 6; grid-row: 1; align-items: flex-start; text-align: left; margin: 0; }
  body.v6 .cr-apply .cr-head .cr-eyebrow { justify-content: flex-start; }
  body.v6 .cr-apply .cr-head .cr-eyebrow i:first-child { display: none; }
  body.v6 .cr-apply .cr-head .cr-lede { margin-inline: 0; }
  body.v6 .cr-apply .cr-apply-main { grid-column: 8 / content-end; grid-row: 1; }
  /* the partner registration form opens centred under the two cards */
  body.v6 .cp-register .cp-panel { grid-column: 4 / span 12; grid-row: auto; margin-top: clamp(3.2rem, 6svh, 6.4rem); }
  body.v6 .cr-apply .cr-form { padding-top: clamp(2rem, 3.6svh, 5.5rem); padding-bottom: clamp(2rem, 3.6svh, 5rem); }
  body.v6 .cr-apply .cr-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(1.2rem, 1.9svh, 3.2rem); column-gap: 2.4rem; }
  body.v6 .cr-apply .cr-fields > .cr-field:first-child { grid-column: span 1; }
  body.v6 .cr-apply .cr-field:has(.cr-drop) { grid-column: span 2; }
  body.v6 .cr-apply .cr-drop { padding-top: clamp(.6rem, 1.2svh, 3.4rem); padding-bottom: clamp(.6rem, 1.2svh, 3.4rem); gap: .4rem; }
  body.v6 .cr-apply textarea { min-height: 0; height: clamp(48px, 8svh, 120px); }
  body.v6 .cr-form-foot { margin-top: clamp(1.2rem, 1.8svh, 3.4rem); }

  /* a story: its photograph and title fill the first screen */
  body.v6 .bp-head { box-sizing: border-box; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--header-h) + 1svh) 0 clamp(2rem, 4svh, 5rem); }
  body.v6 .bp-block { min-height: calc(100svh - var(--header-h) - 1svh - clamp(2rem, 4svh, 5rem)); }
  body.v6 .bp-block-copy { padding-top: clamp(5rem, 12svh, 16rem); padding-bottom: clamp(2.4rem, 5svh, 6.4rem); }

  /* ---------- NRI Corner and Investor ---------- */
  body.v6 :is(.ni-why, .ni-cycle, .ni-split, .ni-opps, .ni-city, .ni-trust, .ni-steps, .ni-faq, .ni-enquire, .ni-close, .ni-returns) {
    box-sizing: border-box;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--scr-top);
    padding-bottom: var(--scr-bot);
  }
  body.v6 .ni-note { margin-top: clamp(1rem, 2svh, 3rem); }
  /* the heroes of the inner pages: content clears the header, no more */
  body.v6 .cr-hero-inner { padding-top: calc(var(--header-h) + 4svh); padding-bottom: clamp(3.6rem, 9svh, 9rem); }
  body.v6 .ni-cta { padding-top: clamp(3rem, 7svh, 8rem); padding-bottom: clamp(3rem, 7svh, 8rem); }

  /* ownership cycle: the ring beside the stages; only the current stage shows its words */
  body.v6 .ni-cycle-body { align-items: center; }
  body.v6 .ni-ring { position: relative; top: auto; width: min(calc(100% - 20rem), 46rem, 42svh); }
  body.v6 .ni-stages { margin-top: 0; padding-bottom: 0; }
  body.v6 .ni-stage { min-height: 0; padding: clamp(.4rem, .8svh, 1.6rem) 0; }
  body.v6 .ni-stage-name { font-size: clamp(16px, min(2.1rem, 2.8svh), 23px); }
  body.v6 .ni-stage-name { margin-bottom: 0; }
  body.v6 .ni-cycle-body.is-live .ni-stage-text { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .5s var(--ease), opacity .4s var(--ease), margin .5s var(--ease); }
  body.v6 .ni-cycle-body.is-live .ni-stage.is-on .ni-stage-text { max-height: 12rem; opacity: 1; margin-top: .6rem; }

  /* you and the NB team */
  body.v6 .ni-split-row > span { padding-top: clamp(1rem, 2svh, 2.6rem); padding-bottom: clamp(1rem, 2svh, 2.6rem); }

  /* the worked example: rows tighten with the window */
  body.v6 .ni-example { padding: clamp(1.8rem, 3.6svh, 3.6rem) clamp(2.4rem, 2.6vw, 3.6rem) clamp(1.6rem, 3.2svh, 3.2rem); }
  body.v6 .ni-example-title { margin: clamp(1rem, 2svh, 2rem) 0 clamp(.8rem, 1.8svh, 2.2rem); }
  body.v6 .ni-example-table th,
  body.v6 .ni-example-table td { padding: clamp(.5rem, .95svh, 1.3rem) 0; }
  body.v6 .ni-example-note { margin-top: clamp(1rem, 2svh, 2rem); }

  body.v6 .ni-trust-list { margin-top: clamp(2.4rem, 5svh, 6.4rem); }
  body.v6 .ni-trust-go { margin-top: clamp(2rem, 4.6svh, 5.6rem); }

  /* questions: on the paper sheet, the heading beside the list */
  body.v6 .ni-faq-in { align-items: center; }
  body.v6 .ni-faq-in::before { grid-row: 1; align-self: stretch; }
  body.v6 .ni-faq-in > .cr-head { grid-column: 3 / span 6; grid-row: 1; padding: clamp(3rem, 6svh, 9rem) 0; margin: 0; align-items: flex-start; text-align: left; }
  body.v6 .ni-faq-in > .cr-head .cr-eyebrow { justify-content: flex-start; }
  body.v6 .ni-faq-in > .cr-head .cr-eyebrow i:first-child { display: none; }
  body.v6 .ni-faq-in > .cr-head .cr-lede { margin-inline: 0; }
  body.v6 .ni-faq-in > .ni-qs { grid-column: 10 / content-end; grid-row: 1; margin: clamp(3rem, 6svh, 9rem) 0; padding-right: clamp(2.4rem, 4.4vw, 7rem); }
  body.v6 .ni-q-btn { padding: clamp(.7rem, 1.3svh, 2.8rem) 0; }
  /* a long list: the heading across the top, the questions in two columns under it */
  body.v6 .ni-faq--long .ni-faq-in { grid-template-rows: auto auto; align-items: start; }
  body.v6 .ni-faq--long .ni-faq-in::before { grid-row: 1 / span 2; }
  body.v6 .ni-faq--long .ni-faq-in > .cr-head { grid-column: 3 / content-end; grid-row: 1; padding: clamp(2.6rem, 5.4svh, 7rem) clamp(2.4rem, 4.4vw, 7rem) clamp(1.2rem, 2.6svh, 3.2rem) 0; }
  body.v6 .ni-faq--long .ni-faq-in > .ni-qs { grid-column: 3 / content-end; grid-row: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(3.2rem, 4.4vw, 7rem); align-items: start; margin: 0 0 clamp(2.6rem, 5.4svh, 7rem); }
  body.v6 .ni-faq--long .ni-faq-fine { grid-column: 1 / -1; }
  body.v6 .ni-faq--long .ni-q-btn { padding: clamp(.5rem, .85svh, 2rem) 0; }
  body.v6 .ni-faq--long .ni-qs { border-top: 0; }
  body.v6 .ni-faq--long .ni-qs-col { border-top: var(--hair) solid var(--cr-ink-line); }
  body.v6 .ni-faq--long .ni-faq-fine { margin-top: clamp(1rem, 2svh, 3.2rem); }
  /* the FAQ keeps the section padding even after a light card section */
  body.v6.ni-page > section.cr-why:not(.cr-why--dark) + section.ni-faq { padding-top: var(--sec-y); }

  /* the enquiry: heading on the left, the form beside it in three columns */
  body.v6 .ni-enquire:not(.cp-register) .ni-enquire-in { align-items: center; }
  body.v6 .ni-enquire:not(.cp-register) .cr-head { grid-column: content-start / span 6; grid-row: 1; margin: 0; align-items: flex-start; text-align: left; }
  body.v6 .ni-enquire:not(.cp-register) .cr-head .cr-eyebrow { justify-content: flex-start; }
  body.v6 .ni-enquire:not(.cp-register) .cr-head .cr-eyebrow i:first-child { display: none; }
  body.v6 .ni-enquire:not(.cp-register) .cr-head .cr-lede { margin-inline: 0; }
  body.v6 .ni-enquire:not(.cp-register) .cr-apply-main { grid-column: 8 / content-end; grid-row: 1; }
  body.v6 .ni-enquire:not(.cp-register) .cr-form { padding-top: clamp(2rem, 3.6svh, 5.5rem); padding-bottom: clamp(2rem, 3.6svh, 5rem); }
  body.v6 .ni-enquire:not(.cp-register) .cr-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(1rem, 1.4svh, 3.2rem); column-gap: 2.4rem; }
  body.v6 .ni-enquire:not(.cp-register) .cr-fields > .cr-field:first-child { grid-column: span 1; }
  body.v6 .ni-enquire:not(.cp-register) .cr-field:has(select, input):not(:has(textarea)):not(:has(input[type="checkbox"])) { grid-column: span 1; }
  body.v6 .ni-enquire:not(.cp-register) textarea { min-height: 0; height: clamp(34px, 4.4svh, 120px); }
  body.v6 .ni-enquire:not(.cp-register) .cr-form { padding-top: clamp(1.6rem, 2.2svh, 5.5rem); padding-bottom: clamp(1.6rem, 2.2svh, 5rem); }
  body.v6 .ni-enquire:not(.cp-register) .cr-title em { white-space: normal; }

  /* sources of return (investor) */
  body.v6 .ni-returns-body { align-items: center; }

  /* channel partners: the two kinds of partner */
  body.v6 .cp-register .cr-lede { max-width: 80ch; }
}

@media (min-width: 992px) and (max-width: 1279px) {
}

/* Short windows: give the room to photographs. A project card is a link as a
   whole, so its "View project" line can go. */
@media (min-width: 992px) and (max-height: 720px) {
}

/* Wide windows: the NRI / investor enquiry gets a narrower heading and four columns of fields. */
@media (min-width: 1280px) {
  body.v6 .ni-enquire:not(.cp-register) .cr-head { grid-column: content-start / span 5; }
  body.v6 .ni-enquire:not(.cp-register) .cr-apply-main { grid-column: 7 / content-end; }
  body.v6 .ni-enquire:not(.cp-register) .cr-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 2rem; }
}


/* ---------- No empty bands ----------
   Only sections whose photographs stretch to the window (the heroes, the project pages,
   where it began, contact's visit) are a full screen tall. The rest keep their own
   height with the standard section padding, so a short section never floats in a band
   of black on a tall screen. Card sets keep their full size and may run past a screen. */
@media (min-width: 992px) {
  body.v6 :is(.wk, .vt, .aw, .ct, .fq, .rv, .ab-what, .pa, .bl-list, .fd-gallery, .ni-opps, .pj-am, .ni-why, .ni-cycle, .ni-split, .ni-trust, .ni-steps, .ni-faq, .ni-enquire, .ni-close, .ni-returns, .cr-why, .fd-pillars, .fd-close, .bl-lead, .bl-ask, .cr-open, .cr-apply, .cp-register, .cx-enq, .ec-calc:not(.cr-emi)) {
    min-height: 0;
  }
}
