/* Life & Legacy page
   Page-specific styles extracted from styles.css.
   Load this file after styles.css on life.html.
*/

/* Vaidyaraj Pharmacy */
.pharmacy-note {
   max-width: 860px;
   margin: 0 0 36px auto;
   background: var(--paper);
   border-left: 4px solid var(--bronze);
   box-shadow: 0 10px 28px rgba(38, 30, 22, .05);
}

.pharmacy-summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding: 22px 28px;
   cursor: pointer;
   list-style: none;
}

.pharmacy-summary::-webkit-details-marker {
   display: none;
}

.pharmacy-summary .object-label {
   display: block;
   margin-bottom: 5px;
}

.pharmacy-summary strong {
   display: block;
   color: var(--oxblood);
   font-size: 27px;
   line-height: 1.15;
   font-weight: 600;
}

.pharmacy-toggle {
   flex: 0 0 auto;
   width: 38px;
   height: 38px;
   display: grid;
   place-items: center;
   border: 1px solid var(--bronze);
   color: var(--forest);
   font: 500 27px/1 var(--sans);
   transition: transform .2s ease;
}

.pharmacy-note[open] .pharmacy-toggle {
   transform: rotate(45deg);
}

.pharmacy-details {
   padding: 0 28px 24px;
   border-top: 1px solid var(--line);
}

.pharmacy-details p {
   color: var(--muted);
}

.pharmacy-details p:last-child {
   margin-bottom: 0;
}

.pharmacy-summary:hover .pharmacy-toggle,
.pharmacy-summary:focus-visible .pharmacy-toggle {
   background: var(--forest);
   color: var(--paper);
}

.pharmacy-summary:focus-visible {
   outline: 2px solid var(--bronze);
   outline-offset: 3px;
}


/* Biography documentary chapters */
.documentary-section {
   background: var(--paper-deep);
}

.documentary-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
   gap: 48px;
   align-items: start;
}

.documentary-object {
   margin: 0;
   padding: 18px;
   background: var(--paper);
   border: 1px solid var(--line);
   box-shadow: var(--shadow);
}

.documentary-object img {
   width: 100%;
   height: auto;
   display: block;
}

.documentary-object figcaption {
   padding: 14px 4px 2px;
   color: var(--muted);
   font-size: 14px;
   line-height: 1.45;
}

.documentary-record {
   background: var(--paper);
   border: 1px solid var(--line);
   padding: 34px;
}

.documentary-record p {
   color: var(--muted);
}

.documentary-record dl {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px 24px;
   margin-top: 28px;
}

.documentary-record dd {
   color: var(--forest);
}


/* Biography institution-builder chapter */
.institution-builder {
   background: var(--ivory);
}

.institution-feature {
   display: grid;
   grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
   gap: 48px;
   align-items: center;
}

.institution-feature-image {
   max-width: 520px;
}

.institution-feature-copy {
   padding: 38px;
   background: var(--paper);
   border-left: 4px solid var(--bronze);
   box-shadow: 0 12px 30px rgba(38, 30, 22, .06);
}

.institution-feature-copy p {
   color: var(--muted);
}

.founding-record {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   margin-top: 44px;
   border: 1px solid var(--line);
   background: var(--paper);
}

.founding-record>div {
   padding: 24px;
   background: var(--paper);
   border-right: 1px solid var(--line);
}

.founding-record>div:last-child {
   border-right: 0;
}

.founding-record span {
   display: block;
   margin-bottom: 8px;
   color: var(--bronze);
   font: 700 11px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.founding-record strong {
   display: block;
   margin-bottom: 8px;
   color: var(--forest);
   font-size: 20px;
   line-height: 1.2;
}

.founding-record p {
   margin: 0;
   color: var(--muted);
   font-size: 16px;
   line-height: 1.55;
}

/* Biography scholar-and-author chapter */
.scholarship-chapter {
   background: var(--forest);
   color: #f7f0e3;
}

.scholarship-chapter h2,
.scholarship-chapter h3 {
   color: #f7f0e3;
}

.scholarship-chapter .kicker,
.scholarship-chapter .object-label {
   color: #d6b675;
}

.scholarship-head .intro {
   color: #d9c9ac;
}

.scholarship-grid {
   display: grid;
   grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
   gap: 52px;
   align-items: start;
}

.scholarship-copy {
   padding: 34px;
   border: 1px solid rgba(255, 255, 255, .2);
   background: rgba(255, 255, 255, .055);
}

.scholarship-copy p {
   color: #eee5d6;
}

.publication-shelf {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 24px;
}

.publication-object {
   margin: 0;
   padding: 20px;
   background: var(--paper);
   border: 1px solid #d6b675;
   box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
}

.publication-image {
   height: 430px;
   display: grid;
   place-items: center;
   padding: 16px;
   background: var(--ivory);
   overflow: hidden;
}

.publication-image img {
   width: auto;
   height: auto;
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
}

.publication-object figcaption {
   padding: 22px 4px 4px;
   color: var(--muted);
}

.publication-object figcaption span,
.publication-object figcaption small {
   display: block;
}

.publication-object figcaption span {
   margin-bottom: 6px;
   color: var(--bronze);
   font: 700 10px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.publication-object figcaption strong {
   display: block;
   color: var(--oxblood);
   font-size: 22px;
   line-height: 1.2;
}

.publication-object figcaption small {
   margin-top: 5px;
   font-size: 14px;
}

/* Biography Gandhi chapter */
.gandhi-chapter {
   background: var(--paper-deep);
   border-block: 1px solid var(--line);
}

.gandhi-event {
   display: grid;
   grid-template-columns: minmax(190px, .62fr) minmax(360px, 1.25fr) minmax(240px, .78fr);
   gap: 26px;
   align-items: stretch;
}

.gandhi-event-portrait,
.gandhi-event-campus {
   margin: 0;
   padding: 16px;
   background: var(--paper);
   border: 1px solid var(--line);
   box-shadow: 0 14px 36px rgba(38, 30, 22, .08);
   display: flex;
   flex-direction: column;
}

.gandhi-event-portrait img,
.gandhi-event-campus img {
   width: 100%;
   height: 390px;
   object-fit: contain;
   background: var(--ivory);
}

.gandhi-event-portrait figcaption,
.gandhi-event-campus figcaption {
   padding: 14px 4px 2px;
   color: var(--muted);
   font-size: 14px;
   line-height: 1.45;
}

.gandhi-event-record {
   padding: 36px;
   background: var(--paper);
   border-top: 4px solid var(--oxblood);
   box-shadow: var(--shadow);
}

.gandhi-event-record p {
   color: var(--muted);
}

.event-date {
   display: flex;
   align-items: center;
   gap: 16px;
   margin: 28px 0;
   padding: 18px 0;
   border-block: 1px solid var(--line);
}

.event-date>span {
   color: var(--oxblood);
   font-size: 58px;
   line-height: 1;
   font-weight: 600;
}

.event-date strong,
.event-date small {
   display: block;
}

.event-date strong {
   color: var(--forest);
   font-size: 20px;
}

.event-date small {
   margin-top: 3px;
   color: var(--muted);
   font: 600 11px var(--sans);
   text-transform: uppercase;
   letter-spacing: .08em;
}

.gandhi-event-links {
   display: flex;
   flex-wrap: wrap;
   gap: 18px;
   margin-bottom: 0;
}

.gandhi-event-links a {
   color: var(--forest);
   font-weight: 600;
   text-underline-offset: 4px;
}

/* Biography philanthropy chapter */
.philanthropy-chapter {
   background: var(--ivory);
}

.philanthropy-story {
   display: grid;
   grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
   gap: 48px;
   align-items: start;
}

.philanthropy-copy {
   padding: 38px;
   background: var(--paper);
   border-left: 4px solid var(--bronze);
   box-shadow: 0 12px 30px rgba(38, 30, 22, .06);
}

.philanthropy-copy p {
   color: var(--muted);
}

.philanthropy-legacy {
   display: grid;
   grid-template-columns: .72fr 1.28fr;
   gap: 22px;
}

.philanthropy-right {
   display: grid;
   gap: 24px;
}

.final-gift {
   margin: 28px 0;
   padding: 20px 22px;
   background: var(--paper-deep);
   border-left: 3px solid var(--oxblood);
}

.final-gift span {
   display: block;
   margin-bottom: 5px;
   color: var(--bronze);
   font: 700 10px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.final-gift strong {
   display: block;
   margin-bottom: 8px;
   color: var(--forest);
   font-size: 22px;
   line-height: 1.2;
}

.final-gift p {
   margin: 0;
   font-size: 16px;
   line-height: 1.55;
}

.bequests-panel {
   padding: 30px;
   background: var(--paper);
   border: 1px solid var(--line);
   border-top: 4px solid var(--oxblood);
   box-shadow: 0 12px 30px rgba(38, 30, 22, .06);
}

.bequests-panel h3 {
   margin-bottom: 14px;
}

.bequests-intro {
   margin: 0 0 24px;
   color: var(--muted);
}

.bequests-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   border-top: 1px solid var(--line);
   border-left: 1px solid var(--line);
}

.bequests-grid>div {
   padding: 18px;
   border-right: 1px solid var(--line);
   border-bottom: 1px solid var(--line);
}

.bequests-grid strong,
.bequests-grid span {
   display: block;
}

.bequests-grid strong {
   margin-bottom: 5px;
   color: var(--forest);
   font-size: 19px;
   line-height: 1.2;
}

.bequests-grid span {
   color: var(--muted);
   font-size: 15px;
   line-height: 1.5;
}

.bequests-source {
   margin: 18px 0 0;
   color: var(--muted);
   font-size: 13px;
   line-height: 1.5;
   font-style: italic;
}

.legacy-object {
   margin: 0;
   padding: 18px;
   background: var(--paper);
   border: 1px solid var(--line);
   box-shadow: var(--shadow);
}

.legacy-object img {
   width: 100%;
   height: 360px;
   object-fit: contain;
   background: var(--ivory);
}

.legacy-object figcaption {
   padding: 18px 4px 2px;
}

.legacy-object figcaption span,
.legacy-object figcaption small {
   display: block;
}

.legacy-object figcaption span {
   margin-bottom: 6px;
   color: var(--bronze);
   font: 700 10px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.legacy-object figcaption strong {
   display: block;
   color: var(--oxblood);
   font-size: 20px;
   line-height: 1.2;
}

.legacy-object figcaption small {
   margin-top: 7px;
   color: var(--muted);
   font-size: 14px;
   line-height: 1.45;
}

.legacy-chain {
   display: grid;
   grid-template-columns: 1fr auto 1fr auto 1fr;
   gap: 18px;
   align-items: center;
   margin-top: 46px;
   padding: 26px;
   background: var(--forest);
   color: #f7f0e3;
}

.legacy-chain>div {
   text-align: center;
}

.legacy-chain>div[aria-hidden="true"] {
   color: #d6b675;
   font-size: 30px;
}

.legacy-chain span {
   display: block;
   margin-bottom: 5px;
   color: #d6b675;
   font: 700 10px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.legacy-chain strong {
   display: block;
   font-size: 19px;
   line-height: 1.25;
}

/* Biography legacy chapter */
.legacy-chapter {
   background: var(--paper-deep);
   border-block: 1px solid var(--line);
}

.legacy-gallery {
   display: grid;
   grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
   gap: 28px;
   align-items: stretch;
}

.legacy-gallery-feature,
.legacy-gallery-portrait {
   margin: 0;
   padding: 20px;
   background: var(--paper);
   border: 1px solid var(--line);
   box-shadow: var(--shadow);
   display: flex;
   flex-direction: column;
}

.legacy-gallery-feature img,
.legacy-gallery-portrait img {
   width: 100%;
   height: 430px;
   object-fit: contain;
   background: var(--ivory);
   border: 2px solid var(--bronze);
}

.legacy-gallery-feature figcaption,
.legacy-gallery-portrait figcaption {
   padding: 20px 4px 4px;
}

.legacy-gallery-feature figcaption span,
.legacy-gallery-feature figcaption small,
.legacy-gallery-portrait figcaption span,
.legacy-gallery-portrait figcaption small {
   display: block;
}

.legacy-gallery-feature figcaption span,
.legacy-gallery-portrait figcaption span {
   margin-bottom: 7px;
   color: var(--bronze);
   font: 700 10px var(--sans);
   text-transform: uppercase;
   letter-spacing: .12em;
}

.legacy-gallery-feature figcaption strong,
.legacy-gallery-portrait figcaption strong {
   display: block;
   color: var(--oxblood);
   font-size: 22px;
   line-height: 1.2;
}

.legacy-gallery-feature figcaption small,
.legacy-gallery-portrait figcaption small {
   margin-top: 8px;
   color: var(--muted);
   font-size: 14px;
   line-height: 1.5;
}

.legacy-closing {
   max-width: 880px;
   margin: 52px auto 0;
   padding: 38px 42px;
   background: var(--forest);
   color: #f7f0e3;
   text-align: center;
}

.legacy-closing h3 {
   color: #f7f0e3;
}

.legacy-closing .object-label {
   color: #d6b675;
}

.legacy-closing p {
   color: #eee5d6;
}

.legacy-links {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 12px 24px;
   margin-top: 28px;
}

.legacy-links a {
   color: #f7f0e3;
   font-weight: 600;
   text-underline-offset: 4px;
}

body:has(.legacy-chapter) .site-footer {
   margin-top: 0;
}


/* Life page responsive refinements */
@media (max-width: 1280px) {
   .documentary-grid {
      grid-template-columns: 1fr;
   }

   .documentary-object {
      max-width: 760px;
   }

   .institution-feature {
      grid-template-columns: 1fr;
   }

   .institution-feature-image {
      margin-inline: auto;
   }

   .founding-record {
      grid-template-columns: repeat(2, 1fr);
   }

   .founding-record>div:nth-child(even) {
      border-right: 0;
   }

   .scholarship-grid {
      grid-template-columns: 1fr;
   }

   .publication-shelf {
      max-width: 820px;
      margin-inline: auto;
   }

   .gandhi-event {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .gandhi-event-record {
      grid-column: 1 / -1;
      grid-row: 2;
   }

   .gandhi-event-portrait,
   .gandhi-event-campus {
      max-width: 480px;
      width: 100%;
      margin-inline: auto;
   }

   .philanthropy-story {
      grid-template-columns: 1fr;
   }

   .philanthropy-legacy {
      max-width: 860px;
      margin-inline: auto;
   }

   .legacy-gallery {
      grid-template-columns: 1fr;
   }

   .legacy-gallery-feature,
   .legacy-gallery-portrait {
      max-width: 760px;
      width: 100%;
      margin-inline: auto;
   }
}

@media (max-width: 680px) {
   .documentary-record {
      padding: 24px;
   }

   .documentary-record dl {
      grid-template-columns: 1fr;
   }

   .institution-feature-copy {
      padding: 24px;
   }

   .founding-record {
      grid-template-columns: 1fr;
   }

   .founding-record>div {
      border-right: 0;
   }

   .scholarship-copy {
      padding: 24px;
   }

   .publication-shelf {
      grid-template-columns: 1fr;
   }

   .publication-image {
      height: auto;
      min-height: 0;
      padding: 16px;
   }

   .publication-image img {
      width: 100%;
      height: auto;
      max-width: 100%;
      max-height: none;
   }

   .gandhi-event {
      grid-template-columns: 1fr;
   }

   .gandhi-event-record {
      grid-column: auto;
      grid-row: auto;
      padding: 24px;
   }

   .gandhi-event-portrait img,
   .gandhi-event-campus img {
      height: auto;
   }

   .gandhi-event-links {
      flex-direction: column;
      gap: 8px;
   }

   .philanthropy-copy {
      padding: 24px;
   }

   .philanthropy-legacy {
      grid-template-columns: 1fr;
   }

   .legacy-object img {
      height: auto;
   }

   .legacy-chain {
      grid-template-columns: 1fr;
      gap: 12px;
   }

   .legacy-chain>div[aria-hidden="true"] {
      transform: rotate(90deg);
   }

   .bequests-grid {
      grid-template-columns: 1fr;
   }

   .bequests-panel {
      padding: 24px;
   }

   .legacy-gallery-feature img,
   .legacy-gallery-portrait img {
      height: auto;
   }

   .legacy-closing {
      padding: 28px 24px;
   }

   .legacy-links {
      flex-direction: column;
      gap: 10px;
   }
}

/* Life chapter navigation */
.nav-life {
   position: relative;
}

.nav-life-trigger {
   display: flex;
   align-items: center;
   gap: 5px;
   padding: 34px 12px 31px;
   border: 0;
   border-bottom: 3px solid var(--bronze);
   background: transparent;
   color: #ffffff;
   cursor: pointer;
   font: 700 11px/1 var(--sans);
   text-transform: uppercase;
   white-space: nowrap;
   letter-spacing: .1em;
}

.nav-life-trigger:hover,
.nav-life-trigger:focus-visible {
   color: #ffffff;
}

.nav-life-trigger:focus-visible {
   outline: 2px solid #d6b675;
   outline-offset: -6px;
}

.nav-life-chevron {
   font-size: 15px;
   line-height: .7;
   transition: transform .18s ease;
}

.nav-life.is-open .nav-life-chevron {
   transform: rotate(180deg);
}

.life-chapter-menu {
   position: absolute;
   top: calc(100% - 2px);
   left: 50%;
   z-index: 60;
   width: min(620px, calc(100vw - 40px));
   padding: 14px;
   display: none;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 2px 16px;
   background: #1f302b;
   border: 1px solid rgba(214, 182, 117, .42);
   border-top: 3px solid var(--bronze);
   box-shadow: 0 22px 55px rgba(20, 24, 22, .28);
   transform: translateX(-50%);
}

.nav-life.is-open .life-chapter-menu {
   display: grid;
}

.life-chapter-menu a {
   min-width: 0;
   display: grid;
   grid-template-columns: 32px minmax(0, 1fr);
   gap: 10px;
   align-items: baseline;
   padding: 14px 12px;
   border-bottom: 1px solid rgba(255, 255, 255, .09);
   color: #f6efe1;
   text-decoration: none;
   text-transform: none;
   letter-spacing: 0;
   font: 600 14px/1.3 var(--serif);
}

.life-chapter-menu a:hover,
.life-chapter-menu a:focus-visible {
   background: rgba(255, 255, 255, .07);
   color: #ffffff;
}

.life-chapter-menu a:focus-visible {
   outline: 2px solid #d6b675;
   outline-offset: -2px;
}

.life-chapter-number {
   color: #d6b675;
   font: 700 10px/1 var(--sans);
   letter-spacing: .12em;
}

.life-chapter-title {
   min-width: 0;
}

@media (hover: hover) and (pointer: fine) and (min-width: 1281px) {
   .nav-life:hover .life-chapter-menu {
      display: grid;
   }

   .nav-life:hover .nav-life-chevron {
      transform: rotate(180deg);
   }
}

@media (max-width: 1280px) {
   .nav-life {
      position: static;
   }

   .nav-life-trigger {
      width: 100%;
      justify-content: space-between;
      padding: 14px 0;
      border-bottom: 0;
      color: #f6efe1;
      text-align: left;
   }

   .nav-life-trigger:focus-visible {
      outline-offset: 2px;
   }

   .life-chapter-menu {
      position: static;
      width: 100%;
      padding: 4px 0 10px 14px;
      grid-template-columns: 1fr;
      gap: 0;
      background: transparent;
      border: 0;
      border-left: 1px solid rgba(214, 182, 117, .42);
      box-shadow: none;
      transform: none;
   }

   .life-chapter-menu a {
      grid-template-columns: 28px minmax(0, 1fr);
      padding: 11px 10px;
      border-bottom: 0;
      font-size: 14px;
      line-height: 1.3;
   }
}
