/* H1 — institutional sections. Hero and review styles deliberately remain outside this file. */
:root{--h1-ink:#202b34;--h1-paper:#f7f7f5;--h1-muted:#59626a;--h1-gold:#b89562;--h1-line:#d8d3c8;--h1-space:clamp(3.5rem,8vw,7.5rem)}
.institutional-mission,.institutional-work,.institutional-team,.institutional-units{background:var(--h1-paper);color:var(--h1-ink)}
.institutional-mission{display:grid;gap:1.5rem;padding-block:var(--h1-space);border-bottom:1px solid var(--h1-line)}
.institutional-mission h2,.institutional-history h2,.institutional-work h2,.institutional-team h2,.institutional-units h2,.units-detail h3{margin:.15rem 0 0;font-family:var(--serif);font-size:clamp(2.65rem,7vw,5.7rem);font-weight:400;line-height:.98;letter-spacing:-.045em}
.institutional-mission>div{max-width:35rem}.institutional-copy{max-width:42rem;color:var(--h1-muted);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55}.institutional-copy p{margin:0}.institutional-copy p+p{margin-top:1rem}.institutional-copy p:first-child,.institutional-copy p:last-child{font-weight:600;color:var(--h1-ink)}
.institutional-pending{margin:0;color:var(--h1-muted);line-height:1.55}.institutional-history{padding-block:var(--h1-space);border-bottom:1px solid var(--h1-line);background:#eeece6}.history-grid{display:grid;gap:2rem}.history-grid>div:last-child{display:grid;gap:2rem;align-content:end}.history-lineage{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:0;padding:1.1rem 0 0;border-top:1px solid var(--h1-line);list-style:none;font-size:.72rem;font-weight:700;letter-spacing:.12em}.history-lineage li{display:flex;gap:.8rem;align-items:center}.history-lineage span{color:var(--h1-gold);font-size:1.2rem}
.institutional-work{padding-block:var(--h1-space)}.institutional-heading{display:grid;gap:1rem;max-width:48rem}.institutional-heading p:last-child{max-width:43rem;margin:0;color:var(--h1-muted);line-height:1.55}.work-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 1.1rem}.work-filters button{min-height:2.45rem;padding:.5rem .75rem;border:1px solid var(--h1-line);background:transparent;color:var(--h1-ink);font:700 .64rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.work-filters button[aria-pressed=true]{border-color:var(--h1-ink);background:var(--h1-ink);color:var(--h1-paper)}.work-carousel{display:grid;grid-template-columns:2.8rem minmax(0,1fr) 2.8rem;align-items:center;gap:.75rem}.work-slide{position:relative;min-height:clamp(18rem,54vw,36rem);margin:0;overflow:hidden;background:#e8e5de;touch-action:pan-y}.work-slide img{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.carousel-control{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid var(--h1-ink);border-radius:50%;background:var(--h1-paper);color:var(--h1-ink);font-size:1.2rem;cursor:pointer}.carousel-control:disabled{opacity:.35;cursor:not-allowed}.work-empty{display:grid;min-height:clamp(18rem,54vw,36rem);place-items:center;padding:2rem;border:1px solid var(--h1-line);background:#eeece6;text-align:center}.work-empty p{max-width:28ch;color:var(--h1-muted)}.carousel-dots{display:flex;justify-content:center;gap:.55rem;margin:1rem 0 0}.carousel-dots span{width:.6rem;height:.6rem;border-radius:50%;background:#d7d8d6}.carousel-dots .active{background:var(--h1-gold)}
.institutional-team{padding-block:var(--h1-space);border-top:1px solid var(--h1-line);background:#eeece6}.team-grid{display:grid;gap:2rem}.team-pending{display:grid;min-height:11rem;place-items:center;padding:2rem;border:1px solid var(--h1-line);color:var(--h1-muted);text-align:center}.team-members{display:grid;gap:1rem}.team-card{display:grid;gap:1rem;padding:1rem 0;border-top:1px solid var(--h1-line)}.team-card-image{aspect-ratio:3/4;margin:0;overflow:hidden;background:#e8e5de}.team-card-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.team-card-role{margin:0 0 .35rem;color:var(--h1-gold);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.team-card h3{margin:0;font-family:var(--serif);font-size:1.8rem;font-weight:400;line-height:1.05}.team-card div>p:last-child{margin:.65rem 0 0;color:var(--h1-muted);line-height:1.55}
.institutional-units{padding-block:var(--h1-space)}.units-top{display:grid;gap:2rem}.units-map-copy{position:relative;z-index:1;max-width:39rem}.units-map-copy>p:not(.eyebrow){max-width:33rem;margin:1rem 0 0;color:var(--h1-muted);font-size:clamp(1rem,2vw,1.3rem);line-height:1.35}.units-map{position:relative;isolation:isolate;container-type:inline-size;container-name:ontime-map;aspect-ratio:4/5}.units-map>svg{display:block;width:100%;height:auto}.units-detail{display:grid;gap:2rem;margin-top:clamp(2.5rem,6vw,5rem);padding-top:clamp(2.5rem,6vw,5rem);border-top:1px solid var(--h1-line)}.unit-region{margin:0;color:var(--h1-muted);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.unit-region span{padding-inline:.65rem;color:var(--h1-gold)}.units-detail h3{font-size:clamp(3rem,7vw,5.2rem)}.unit-rule{display:block;width:3rem;height:2px;margin:1.5rem 0;background:var(--h1-gold)}.unit-copy .institutional-pending{max-width:38rem;font-size:1.05rem}.unit-gallery-empty{display:grid;min-height:clamp(16rem,48vw,31rem);place-items:center;padding:2rem;background:#e8e5de;border:1px solid var(--h1-line);text-align:center}.unit-gallery-empty p{max-width:24ch;color:var(--h1-muted)}.unit-selector{display:grid;margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--h1-line)}.unit-selector button{display:grid;grid-template-columns:3.6rem 1fr auto;gap:1rem;align-items:center;width:100%;padding:1rem 0;border:0;border-bottom:1px solid var(--h1-line);background:transparent;color:var(--h1-ink);text-align:left;cursor:pointer}.unit-selector button[aria-pressed=true] b{color:var(--h1-gold)}.unit-thumb{width:3.6rem;height:3.6rem;border:1px solid var(--h1-gold);border-radius:50%;background:linear-gradient(135deg,#e4ded1,#f7f7f5)}.unit-selector b{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:400}.unit-selector small{display:block;margin-top:.2rem;color:var(--h1-muted);font-size:.78rem}.unit-selector i{color:var(--h1-gold);font-size:2.2rem;font-style:normal}
.institutional-work button:focus-visible,.unit-selector button:focus-visible{outline:2px solid var(--h1-ink);outline-offset:3px}
@media(min-width:721px){.institutional-mission{grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(3rem,10vw,9rem)}.history-grid{grid-template-columns:1fr 1fr;align-items:end;gap:clamp(3rem,10vw,9rem)}.team-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,10vw,9rem)}.team-grid.has-members{grid-template-columns:1fr;align-items:start}.team-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem)}.units-top{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2.5rem,6vw,6rem)}.units-map-copy{padding-top:clamp(2rem,6vw,6rem)}.units-detail{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(2.5rem,6vw,6rem)}.unit-selector{grid-template-columns:repeat(3,1fr)}.unit-selector button{min-height:8rem;padding:1.2rem;border-bottom:0;border-right:1px solid var(--h1-line)}.unit-selector button:last-child{border-right:0}.unit-selector b{font-size:1.75rem}}
@media(max-width:520px){.work-carousel{grid-template-columns:1fr;gap:.7rem}.work-carousel .carousel-control{position:absolute;z-index:1;margin-top:calc(clamp(18rem,54vw,36rem) / 2);transform:translateY(-50%)}.work-carousel{position:relative}.work-carousel [data-work-prev]{left:.75rem}.work-carousel [data-work-next]{right:.75rem}.unit-selector{margin-inline:0}.unit-selector button{padding-inline:0}}
@media(prefers-reduced-motion:reduce){.work-slide img{transition:none}}

.unit-gallery-photo{position:relative;min-height:clamp(16rem,48vw,31rem);margin:0;overflow:hidden;background:#e8e5de}.unit-gallery-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.unit-gallery-frame{position:relative}.unit-gallery-frame>.carousel-control{position:absolute;z-index:1;top:50%;transform:translateY(-50%)}.unit-gallery-frame>[data-unit-prev]{left:1rem}.unit-gallery-frame>[data-unit-next]{right:1rem}

/* H1.1 — the approved desktop reference places the map and selected location in one horizontal composition. */
.units-composition{display:grid;gap:clamp(2.5rem,6vw,5rem)}.units-map-side{display:grid;gap:clamp(1.5rem,4vw,3rem)}
@media(min-width:1024px){.units-composition{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.units-map-copy{padding-top:clamp(1rem,3vw,3rem)}.institutional-units .units-detail{display:grid;gap:clamp(1.5rem,3vw,2.5rem);margin:0;padding:clamp(1rem,3vw,3rem) 0 0 clamp(2rem,4vw,4.5rem);border-top:0;border-left:1px solid var(--h1-line)}.institutional-units .unit-gallery-photo,.institutional-units .unit-gallery-empty{min-height:clamp(16rem,25vw,27rem)}}

/* H4 — the selected location keeps its copy above a generous gallery. This
   avoids the former nested two-column split that reduced photographs to a
   narrow vertical strip, while preserving the approved map and composition. */
.institutional-units .unit-gallery-photo{min-height:clamp(22rem,86vw,34rem);aspect-ratio:5/4}.institutional-units .unit-gallery-photo img{object-position:center}
@media(min-width:721px){.institutional-units .units-detail{grid-template-columns:minmax(0,1fr)}.institutional-units .unit-gallery-photo,.institutional-units .unit-gallery-empty{min-height:clamp(24rem,60vw,34rem)}}
@media(min-width:1024px){.units-composition{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(2.25rem,5vw,4.5rem)}.institutional-units .units-detail{grid-template-columns:minmax(0,1fr)}.institutional-units .unit-gallery-photo,.institutional-units .unit-gallery-empty{min-height:clamp(24rem,32vw,34rem);aspect-ratio:5/4}}

/* H4.1 — approved official repair photograph, integrated decoratively so the
   historical narrative remains fully legible and the original asset is intact. */
.institutional-history{position:relative;isolation:isolate;overflow:hidden}.institutional-history::before,.institutional-history::after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none}.institutional-history::before{background:url("../assets/images/homepage/h4-4/Homepage (3).jpeg") right center/cover no-repeat;opacity:.82}.institutional-history::after{background:linear-gradient(90deg,#eeece6 0%,rgb(238 236 230 / .93) 36%,rgb(238 236 230 / .68) 67%,rgb(238 236 230 / .25) 100%)}.institutional-history .history-grid{position:relative;z-index:1}
.institutional-mission{position:relative;isolation:isolate;overflow:hidden}.institutional-mission::before,.institutional-mission::after{position:absolute;z-index:-1;inset:0;content:"";pointer-events:none}.institutional-mission::before{background:url("../assets/images/homepage/h4-4/Homepage (4).JPEG") right center/cover no-repeat;opacity:.82}.institutional-mission::after{background:linear-gradient(90deg,var(--h1-paper) 0%,rgb(247 247 245 / .93) 36%,rgb(247 247 245 / .68) 67%,rgb(247 247 245 / .25) 100%)}.institutional-mission>div{position:relative;z-index:1}
@media(max-width:720px){.institutional-history{padding-bottom:clamp(15rem,70vw,20rem)}.institutional-history::before{top:auto;height:clamp(14rem,65vw,19rem);background-position:center;background-size:cover;opacity:.82}.institutional-history::after{top:auto;height:clamp(17rem,78vw,23rem);background:linear-gradient(180deg,#eeece6 0%,rgb(238 236 230 / .78) 28%,rgb(238 236 230 / .08) 66%,transparent 100%)}.institutional-mission::before{background-position:center;opacity:.82}.institutional-mission::after{background:linear-gradient(180deg,var(--h1-paper) 0%,rgb(247 247 245 / .78) 28%,rgb(247 247 245 / .08) 66%,transparent 100%)}}

/* H4.5 — mobile keeps Mission text independent from its approved photograph.
   The long institutional lineage and every responsive grid may shrink instead
   of extending the document beyond the viewport. */
.mission-image{display:none}.institutional-mission>*,.history-grid>*,.team-grid>*,.units-composition>*,.units-map-side>*,.units-detail>*,.unit-gallery,.work-carousel,.contact>*,.footer>*{min-width:0}.history-lineage,.history-lineage li{max-width:100%;min-width:0}.history-lineage li{flex-wrap:wrap;overflow-wrap:anywhere}.units-map,.unit-gallery-frame{width:100%;max-width:100%;min-width:0}
@media(max-width:720px){.institutional-mission::before,.institutional-mission::after{display:none}.mission-image{position:relative;display:block;width:100%;max-width:100%;margin:0;overflow:hidden;background:var(--h1-paper)}.mission-image img{display:block;width:100%;max-width:100%;height:auto}.mission-image::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,var(--h1-paper) 0%,rgb(247 247 245 / .78) 28%,rgb(247 247 245 / .18) 60%,transparent 78%,rgb(247 247 245 / .12) 100%)}.institutional-units .unit-gallery-photo{width:100%;max-width:100%;min-height:0;aspect-ratio:5 / 4}}

/* H4.7 — desktop Mission and Vision extends its approved photograph and
   protective gradient to the viewport edge, while the editorial content
   remains aligned to the shared shell. Mobile deliberately remains untouched. */
/* H5.1-B: the desktop section itself spans the available document width.
   Its padding reproduces the shell; the photograph ends at right:0 without vw. */
@media(min-width:721px){
  .institutional-mission.shell{width:100%;padding-inline:max(var(--space),calc((100% - var(--max)) / 2))}
  .institutional-mission::before,.institutional-mission::after{left:max(var(--space),calc((100% - var(--max)) / 2));right:0}
  .institutional-history::after{background:linear-gradient(90deg,#eeece6 0%,rgb(238 236 230 / .93) 36%,rgb(238 236 230 / .78) 67%,rgb(238 236 230 / .52) 100%)}
  .institutional-mission::after{background:linear-gradient(90deg,var(--h1-paper) 0%,rgb(247 247 245 / .93) 36%,rgb(247 247 245 / .78) 67%,rgb(247 247 245 / .52) 100%)}
  .institutional-mission .institutional-copy,.institutional-history .institutional-copy{color:var(--h1-ink)}
}
.team-card-role,.unit-selector button[aria-pressed=true] b{color:var(--gold-text)}
.unit-gallery-photo,.unit-gallery-frame{touch-action:pan-y}
.unit-selector button{min-width:0;grid-template-columns:3.6rem minmax(0,1fr) auto}
.unit-selector button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){.unit-thumb{background:linear-gradient(135deg,#d2c7b5,#ded8cc)}}

/* H5.1-D — retain the approved photo size; place desktop controls below it.
   The width follows the existing minimum height and 5/4 aspect ratio. */
@media(min-width:1024px){
  .institutional-units .unit-gallery{
    --unit-gallery-desktop-width:max(100%,calc(clamp(24rem,32vw,34rem) * 1.25));
  }
  .institutional-units .unit-gallery-frame{
    width:var(--unit-gallery-desktop-width);
    max-width:none;
    padding-bottom:3.55rem;
  }
  .institutional-units .unit-gallery-frame>.carousel-control{
    top:auto;
    right:auto;
    bottom:0;
    transform:none;
  }
  .institutional-units .unit-gallery-frame>[data-unit-prev]{left:calc(50% - 2.8rem - .375rem)}
  .institutional-units .unit-gallery-frame>[data-unit-next]{left:calc(50% + .375rem)}
  .institutional-units .unit-gallery>.carousel-dots{width:var(--unit-gallery-desktop-width)}
}

/* H5.3-C1 — authorized minimum map width only at the narrowest supported viewport. */
@media(min-width:320px) and (max-width:324px){.institutional-units .units-map{width:max(100%,288px);max-width:none;justify-self:center}}
