/* Shared-menu column count: mirrored via data-cols. */
.sq-menu__panel[data-cols="3"]{--sq-menu-cols:3}
.sq-menu__panel[data-cols="2"]{--sq-menu-cols:2}

/* Life at SquareShift (v2) - page CSS.
   Source design: "Life@sqst Updated" template, rebuilt to SquareShift brand rules:
   flat colour fills only, no shadows, square corners, Deep Green for text and lines only,
   palette colours only, Fjalla One (weight 400) + Roboto Condensed, line-height 1.15 or more.
   Depends on css/tokens.css only. */

.life-shell{width:var(--shell);margin:0 auto}
.life-section{padding-block:var(--section-padding-y);border-top:1px solid var(--rule);background:#FFFFFF}
.life-section h2,.life-hero__title{font-weight:400}
.life-head{width:var(--title-description-width);max-width:var(--title-description-width);margin-bottom:56px;display:grid;gap:18px}
.life-head h2{color:#0D5630}
.life-head p{color:#595959;max-width:720px}
.life-kicker{color:#B8860B}
.life-kicker,.life-event__tag,.life-lb__tag{line-height:1.15}

/* buttons */
.life-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1.5px solid #D4AF37;font-family:var(--body);font-size:var(--fs-content-cta);font-weight:700;line-height:1.15;letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.life-btn--gold,.life-btn--primary{background:#D4AF37;border-color:#D4AF37;color:#181818}
.life-btn--gold:hover,.life-btn--primary:hover{background:#F3CD29;border-color:#F3CD29;color:#181818}
.life-btn:focus-visible{outline:2px solid #D4AF37;outline-offset:3px}

/* 1 - hero: full-width automatic photo slideshow, title on a solid band below the photo */
.life-hero{position:relative;background:#181818;color:#FFFFFF;--band-pad:48px;--title-size:clamp(40px,4.2vw,60px)}
@media (min-width:901px) and (max-height:799px){.life-hero{--band-pad:28px;--title-size:clamp(40px,4.2vw,48px)}}
@media (min-width:901px) and (max-height:699px){.life-hero{--band-pad:20px;--title-size:clamp(36px,3.4vw,44px)}}
.life-hero__stage{position:relative;overflow:hidden;background:#181818;container-type:size}
@media (min-width:901px){
  .life-hero__stage{height:clamp(380px,calc(100vh - 69px - 2px - 2 * var(--band-pad) - 1.2 * var(--title-size)),900px);height:clamp(380px,calc(100svh - 69px - 2px - 2 * var(--band-pad) - 1.2 * var(--title-size)),900px)}
}
.life-hero__slide{position:absolute;inset:0;background:#181818;opacity:0;z-index:0;transition:none}
.life-hero__slide.is-leaving{opacity:1;z-index:1}
.life-hero__slide.is-active{opacity:1;z-index:2;transition:opacity .75s ease}
.life-hero__img{display:block;width:100%;height:100%;max-width:none;object-position:var(--pos,50% 40%)}
.life-hero__slide--cover .life-hero__img{object-fit:cover;transform-origin:var(--origin,50% 50%)}
.life-hero__slide--cover.is-active .life-hero__img,.life-hero__slide--cover.is-leaving .life-hero__img{animation:lifeZoom 4.2s linear both}
.life-hero__slide--still .life-hero__img{animation:none!important}
.life-hero__slide--group{display:flex;gap:4px}
.life-hero__panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:#181818}
.life-hero__panel .life-hero__img{object-fit:cover}
.life-hero__slide--group.is-active .life-hero__panel{animation:lifePanelIn .3s ease-out both;animation-delay:calc(var(--i) * 120ms)}
.life-hero__slide--duo{display:none}
@container (min-aspect-ratio:23/10){
  .life-hero__slide--solo{display:none}
  .life-hero__slide--duo{display:flex}
}
@container (min-aspect-ratio:121/50){
  .life-hero__slide--wide .life-hero__img{object-fit:contain;animation:none!important;transform:none!important}
}
.life-hero__stars{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.life-hero__star{position:absolute;display:block;width:var(--s,12px);height:var(--s,12px);margin:calc(var(--s,12px) / -2) 0 0 calc(var(--s,12px) / -2);opacity:0;will-change:transform,opacity}
.life-hero__star svg{display:block;width:100%;height:100%;fill:var(--c,#D4AF37)}
.life-hero__stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:25%;z-index:3;pointer-events:none;background:linear-gradient(to bottom,rgba(24,24,24,0),#181818)}
.life-hero__band{background:#181818;border-top:2px solid #D4AF37;padding:var(--band-pad) 24px;text-align:center}
.life-hero__title{margin:0;font-family:var(--display);font-weight:400;font-size:var(--title-size);line-height:1.2;letter-spacing:.5px;text-transform:none;color:#D4AF37;text-wrap:balance}
@media (max-width:1100px){
  .life-hero__slide--wide .life-hero__img{object-fit:contain;animation:none!important;transform:none!important}
}
@media (max-width:1023px){
  .life-hero__panel:nth-child(3){display:none}
}

@keyframes lifeZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes lifePanelIn{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-24px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes lifeFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(8deg)}}
@keyframes lifeItemIn{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
@keyframes lifePop{0%{transform:scale(0)}65%{transform:scale(1.2)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .life-hero__img{animation:none!important;transform:none!important}
  .life-hero__slide.is-active{transition:opacity .5s ease}
  .life-hero__panel{animation:none!important}
  .life-hero__stars{display:none}
}

/* scroll reveal - pure CSS; browsers without scroll timelines just show the content */
@keyframes lifeRise{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
  .life-rise{animation:lifeRise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
}
@media (prefers-reduced-motion:reduce){.life-rise{animation:none!important}}

/* 2 - people: slideshow of flip cards on Light Cream */
.life-people{background:#E6DFD4;overflow:hidden}
.life-people .life-head{margin-bottom:36px}
.life-slider{position:relative;max-width:1040px;margin:0 auto}
.life-slider__stage{position:relative;height:460px}
.life-slide{position:absolute;inset:0;perspective:1800px;opacity:0;visibility:hidden;transform:translateX(60px) scale(.97);transition:opacity .55s var(--ease),transform .7s var(--ease),visibility 0s .7s}
.life-slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .55s var(--ease),transform .7s var(--ease),visibility 0s}
.life-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .85s var(--ease)}
.life-flip.is-flipped{transform:rotateY(180deg)}
.life-flip__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.life-flip__front{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--bg);color:var(--fg);transition:visibility 0s .42s}
.life-flip.is-flipped .life-flip__front{visibility:hidden}
.life-flip__back{transform:rotateY(180deg);display:grid;grid-template-rows:auto 1fr;gap:18px;padding:28px 34px 30px;background:#426653;color:#FFFFFF;visibility:hidden;transition:visibility 0s .42s}
.life-flip.is-flipped .life-flip__back{visibility:visible;transition-delay:0s}
/* tones: the template's Deep Green card fill is replaced by Dark Grey */
.life-tone--deep{--bg:#181818;--fg:#FFFFFF;--ac:#D4AF37;--in-bg:#D4AF37;--in-fg:#181818}
.life-tone--sage{--bg:#426653;--fg:#FFFFFF;--ac:#D4AF37;--in-bg:#D4AF37;--in-fg:#181818}
.life-tone--gold{--bg:#D4AF37;--fg:#181818;--ac:#0D5630;--in-bg:#181818;--in-fg:#FFFFFF}
.life-tone--paper{--bg:#FFFFFF;--fg:#181818;--ac:#B8860B;--in-bg:#426653;--in-fg:#FFFFFF}
.life-slide__photo{position:relative;overflow:hidden;background:#E6DFD4}
.life-slide__photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.life-slide.is-active .life-slide__photo img{animation:lifeKen 7s ease-out both}
@keyframes lifeKen{from{transform:scale(1.08)}to{transform:scale(1)}}
.life-slide__body{display:grid;align-content:center;gap:20px;padding:36px 44px 36px 40px}
.life-slide__mark{display:block;font-family:var(--display);font-size:96px;line-height:1.15;height:48px;overflow:hidden;color:var(--ac)}
.life-slide__quote{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.2;text-wrap:balance}
.life-slide__who{display:grid;gap:6px;padding-top:18px;border-top:1px solid currentColor}
.life-slide__namerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.life-slide__name{font-family:var(--display);font-size:26px;line-height:1.15;color:var(--ac)}
.life-tone--paper .life-slide__name{color:#0D5630}
.life-slide__role{font-size:15px;line-height:1.35}
.life-slide__in{position:relative;display:inline-flex;transition:opacity .2s ease}
.life-slide__in::after{content:"";position:absolute;inset:-8px}
.life-slide__in:hover{opacity:.85}
.life-slide__in svg rect{fill:var(--in-bg,#D4AF37)}
.life-slide__in svg path{fill:var(--in-fg,#181818)}
.life-slide__btn,.life-flip__back-btn{display:inline-flex;align-items:center;gap:10px;justify-self:start;min-height:48px;padding:0 20px;border:1.5px solid currentColor;font-family:var(--body);font-size:var(--fs-content-cta);font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.15;color:inherit;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.life-slide__btn .material-icons{font-size:20px}
.life-slide__btn:hover{background:var(--ac);border-color:var(--ac);color:var(--bg)}
.life-tone--gold .life-slide__btn:hover{color:#FFFFFF}
.life-slide__btn:focus-visible,.life-flip__back-btn:focus-visible,.life-slider__arrow:focus-visible,.life-slider__thumb:focus-visible,.life-slide__in:focus-visible{outline:3px solid #B8860B;outline-offset:3px}
.life-flip__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.3)}
.life-flip__avatar{width:56px;height:56px;object-fit:cover;border:2px solid #D4AF37}
.life-flip__id{display:grid;gap:4px}
.life-flip__label{font-family:var(--body);font-size:12px;font-weight:700;line-height:1.15;letter-spacing:.12em;text-transform:uppercase;color:#D4AF37}
.life-flip__name{font-family:var(--display);font-size:26px;line-height:1.15}
.life-flip__back-btn{color:#FFFFFF;min-height:44px;padding:0 16px}
.life-flip__back-btn .material-icons{font-size:18px}
.life-flip__back-btn:hover{background:#D4AF37;border-color:#D4AF37;color:#181818}
.life-flip__list{display:grid;align-content:center;gap:12px;overflow:auto}
.life-flip__list li{display:flex;align-items:center;gap:16px;font-size:18px;line-height:1.35;opacity:0;transform:translateX(-24px)}
.life-flip.is-flipped .life-flip__list li{animation:lifeItemIn .6s var(--ease) both}
.life-flip.is-flipped .life-flip__list li:nth-child(1){animation-delay:.45s}
.life-flip.is-flipped .life-flip__list li:nth-child(2){animation-delay:.57s}
.life-flip.is-flipped .life-flip__list li:nth-child(3){animation-delay:.69s}
.life-flip.is-flipped .life-flip__list li:nth-child(4){animation-delay:.81s}
.life-flip.is-flipped .life-flip__list li:nth-child(5){animation-delay:.93s}
.life-flip__ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:22px;line-height:1.15;background:#D4AF37;color:#181818}
.life-flip__list li:nth-child(even) .life-flip__ico{background:#FFFFFF;color:#0D5630}
.life-flip.is-flipped .life-flip__ico{animation:lifePop .6s var(--ease) both}
.life-flip.is-flipped li:nth-child(1) .life-flip__ico{animation-delay:.5s}
.life-flip.is-flipped li:nth-child(2) .life-flip__ico{animation-delay:.62s}
.life-flip.is-flipped li:nth-child(3) .life-flip__ico{animation-delay:.74s}
.life-flip.is-flipped li:nth-child(4) .life-flip__ico{animation-delay:.86s}
.life-flip.is-flipped li:nth-child(5) .life-flip__ico{animation-delay:.98s}
.life-slider__arrow{position:absolute;top:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-top:-26px;background:#426653;color:#FFFFFF;transition:opacity .25s ease,background-color .2s ease,color .2s ease}
.life-slider__arrow--prev{left:-26px}
.life-slider__arrow--next{right:-26px}
.life-slider__arrow:hover{background:#D4AF37;color:#181818}
.life-slider.has-flipped .life-slider__arrow{opacity:0;pointer-events:none}
.life-slider__nav{display:grid;justify-items:center;gap:16px;margin-top:34px}
.life-slider__count{font-family:var(--body);font-size:13px;font-weight:700;line-height:1.15;letter-spacing:.1em;color:#0D5630}
.life-slider__timer{display:flex;align-items:center;gap:14px;width:min(420px,100%)}
.life-slider__bar{position:relative;flex:1;height:4px;background:rgba(24,24,24,.15);overflow:hidden}
.life-slider__fill{position:absolute;inset:0;background:#D4AF37;transform:scaleX(0);transform-origin:left;display:block}
.life-slider__fill.is-active{animation:lifeSlFill 4s linear forwards}
.life-slider__nav.is-paused .life-slider__fill.is-active{animation-play-state:paused}
@keyframes lifeSlFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.life-slider__thumbs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;max-width:100%}
.life-slider__thumb{width:56px;height:56px;padding:0;border:3px solid transparent;overflow:hidden;opacity:.55;transform:scale(.92);transition:opacity .25s ease,transform .3s var(--ease),border-color .25s ease}
.life-slider__thumb img{width:100%;height:100%;object-fit:cover}
.life-slider__thumb:hover{opacity:.95;transform:scale(1.04)}
.life-slider__thumb.is-active{opacity:1;border-color:#B8860B;transform:scale(1.14)}
@media (max-width:1180px){.life-slider__arrow--prev{left:-8px}.life-slider__arrow--next{right:-8px}}
@media (max-width:760px){
  .life-slider__stage{height:590px}
  .life-flip__front{grid-template-columns:none;grid-template-rows:200px minmax(0,1fr)}
  .life-slide__body{padding:22px 22px 24px;gap:14px;align-content:center}
  .life-slide__mark{font-size:68px;height:34px}
  .life-slide__quote{font-size:23px}
  .life-flip__back{padding:20px 20px 22px}
  .life-flip__top{grid-template-columns:auto minmax(0,1fr)}
  .life-flip__back-btn{grid-column:1/-1;justify-self:start}
  .life-flip__list{align-content:start;padding-top:6px}
  .life-flip__list li{font-size:16px;gap:12px}
  .life-slider__arrow{top:100px;margin-top:0;width:44px;height:44px}
  .life-slider__arrow--prev{left:8px}.life-slider__arrow--next{right:8px}
  .life-slider__thumbs{gap:8px}
  .life-slider__thumb{width:44px;height:44px}
}
@media (max-width:420px){.life-slider__stage{height:620px}}
@media (max-width:350px){.life-slider__stage{height:720px}.life-slide__quote{font-size:21px}}
@media (prefers-reduced-motion:reduce){
  .life-flip,.life-slide{transition:none!important}
  .life-slide.is-active .life-slide__photo img,.life-flip.is-flipped .life-flip__list li,.life-flip.is-flipped .life-flip__ico{animation:none!important}
  .life-flip__list li{opacity:1;transform:none}
  .life-slider__bar{display:none}
}
/* phones and touch screens: flip without 3D transforms */
@media (max-width:760px),(hover:none){
  .life-slide{perspective:none}
  .life-flip,.life-flip.is-flipped{transform-style:flat;transform:none;transition:none}
  .life-flip__face{backface-visibility:visible;-webkit-backface-visibility:visible}
  .life-flip__front{opacity:1;transform:none;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s}
  .life-flip.is-flipped .life-flip__front{opacity:0;transform:scaleX(.55);visibility:hidden;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s .3s}
  .life-flip__back{opacity:0;transform:scaleX(.55);visibility:hidden;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s .3s}
  .life-flip.is-flipped .life-flip__back{opacity:1;transform:none;visibility:visible;transition:opacity .35s var(--ease) .25s,transform .45s var(--ease) .25s,visibility 0s .25s}
}

/* 3 - perks: solid Sage Green band, white and cream cards, gold square icon badges */
.life-perksec{position:relative;overflow:hidden;isolation:isolate;border-top:0;background:#426653;color:#FFFFFF;padding-block:96px}
.life-perksec::before,.life-perksec::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.life-perksec::before{width:90px;height:90px;right:6%;top:30px;border:2px solid rgba(212,175,55,.5);transform:rotate(14deg);animation:lifeFloat 9s ease-in-out infinite}
.life-perksec::after{width:44px;height:44px;left:4%;bottom:24px;background:rgba(212,175,55,.3);animation:lifeFloat 7s ease-in-out 1s infinite reverse}
.life-perksec .life-head{margin-bottom:56px;gap:12px}
.life-perksec .life-kicker{color:#FFFFFF}
.life-perksec .life-head h2{color:#FFFFFF;font-size:clamp(32px,3.4vw,42px)}
.life-perksec .life-head h2::after{content:"";display:block;width:56px;height:4px;margin-top:12px;background:#D4AF37}
.life-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.life-perk{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:0 28px;padding:40px;background:#FFFFFF;color:#181818}
.life-perk:nth-child(even){background:#E6DFD4}
.life-perk__icon{box-sizing:content-box;width:40px;height:40px;padding:12px;object-fit:contain;background:#D4AF37}
.life-perk>div{display:grid;gap:12px}
.life-perk__title{margin:0;font-family:var(--display);font-weight:400;font-size:26px;line-height:1.15;color:#0D5630}
.life-perk__text{margin:0;font-size:17px;line-height:1.5;color:#595959}
.life-perkcta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:56px;padding-top:40px;border-top:1px solid rgba(212,175,55,.5)}
.life-perkcta__text{margin:0;font-family:var(--display);font-size:clamp(22px,2.4vw,30px);line-height:1.2;color:#FFFFFF}
.life-perkcta .life-btn{flex:none}
@media (max-width:900px){.life-perks{gap:24px}.life-perk{padding:32px;gap:0 24px}}
@media (max-width:900px){.life-perksec::after{display:none}}
@media (max-width:640px){.life-perkcta{flex-direction:column;align-items:flex-start;gap:16px}.life-perkcta .life-btn{width:100%}}
@media (max-width:600px){.life-perks{grid-template-columns:1fr;gap:20px}.life-perksec{padding-block:64px}.life-perksec .life-head{margin-bottom:40px}.life-perk{grid-template-columns:1fr;gap:20px;padding:28px}.life-perkcta{margin-top:40px;padding-top:32px}.life-perksec::before{display:none}}
@media (prefers-reduced-motion:reduce){.life-perksec::before,.life-perksec::after{animation:none}}

/* 4 - events: large photo cards, text on the light page background below each photo; each opens a gallery */
.life-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}
.life-events-grid--rest{margin-top:48px}
.life-event{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;border:0;color:#181818;background:#FFFFFF;cursor:pointer;transition:transform .4s var(--ease)}
.life-event:hover{transform:translateY(-6px)}
.life-event__img{display:block;width:100%;height:auto;aspect-ratio:3/2;max-width:none;object-fit:cover}
.life-event__top{position:absolute;left:0;top:0;z-index:2;display:flex;align-items:stretch;gap:0}
.life-event__n{display:inline-flex;align-items:center;padding:8px 12px;background:#181818;color:#FFFFFF;font-family:var(--body);font-size:13px;font-weight:700;line-height:1.15}
.life-event__tag{display:inline-flex;align-items:center;padding:8px 12px;background:#426653;color:#FFFFFF;font-size:12px}
.life-event__panel{flex:1;align-content:space-between;display:grid;gap:16px;padding:28px 0 28px;border-bottom:4px solid #E6DFD4;transition:border-color .4s ease}
.life-event:hover .life-event__panel,.life-event:focus-visible .life-event__panel{border-bottom-color:#D4AF37}
.life-event__title{font-family:var(--display);font-weight:400;font-size:32px;line-height:1.15;letter-spacing:.5px;color:#0D5630;text-wrap:balance}
.life-event__meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.life-event__count{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:14px;font-weight:700;line-height:1.15;letter-spacing:.06em;text-transform:uppercase;color:#595959}
.life-event__count .material-icons{font-size:20px;color:#B8860B}
.life-event__more{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:2px solid #D4AF37;font-size:var(--fs-content-cta);font-weight:700;line-height:1.15;letter-spacing:.1em;text-transform:uppercase;color:#0D5630}
.life-event__more .material-icons{font-size:18px;transition:transform .25s var(--ease)}
.life-event:hover .life-event__more .material-icons{transform:translateX(6px)}
.life-event:focus-visible{outline:3px solid #D4AF37;outline-offset:3px}
.life-event--e1{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 56px;align-items:center}
.life-event--e1 .life-event__panel{padding:0 0 16px}
.life-event--e1 .life-event__title{font-size:44px}
@media (max-width:900px){
  .life-head{width:100%;max-width:100%}
  .life-events-grid{gap:40px 28px}
  .life-events-grid--rest{margin-top:40px}
  .life-event--e1{grid-template-columns:1fr;gap:0}
  .life-event--e1 .life-event__panel{padding:28px 0}
  .life-event--e1 .life-event__title,.life-event__title{font-size:28px}
}
@media (max-width:600px){
  .life-events-grid{grid-template-columns:1fr;gap:36px}
  .life-events-grid--rest{margin-top:36px}
  .life-event--e1{grid-column:auto}
}

/* gallery (lightbox) */
.life-lb{position:fixed;inset:0;z-index:400;visibility:hidden;pointer-events:none;transition:visibility 0s .4s}
.life-lb.is-open{visibility:visible;pointer-events:auto;transition:none}
.life-lb__backdrop{position:absolute;inset:0;background:rgba(24,24,24,.96);opacity:0;transition:opacity .4s var(--ease)}
.life-lb.is-open .life-lb__backdrop{opacity:1}
.life-lb__panel{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:20px clamp(16px,3vw,44px) 18px;color:#FFFFFF;opacity:0;transform:scale(.97);pointer-events:none;transition:opacity .4s var(--ease),transform .5s var(--ease)}
.life-lb.is-open .life-lb__panel{opacity:1;transform:none}
.life-lb__head,.life-lb__img,.life-lb__nav,.life-lb__thumbs{pointer-events:auto}
.life-lb__head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:18px}
.life-lb__titles{display:grid;gap:6px}
.life-lb__tag{color:#D4AF37}
.life-lb__title{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.15;color:#FFFFFF}
.life-lb__cap{font-size:15px;line-height:1.4;color:rgba(255,255,255,.85)}
.life-lb__count{padding-top:6px;font-family:var(--body);font-size:13px;font-weight:700;line-height:1.15;letter-spacing:.08em;color:#D4AF37}
.life-lb__close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#D4AF37;color:#181818;transition:background-color .2s ease}
.life-lb__close:hover{background:#F3CD29}
.life-lb__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
.life-lb__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.life-lb__img.is-a{animation:lifeLbA .55s var(--ease) both}
.life-lb__img.is-b{animation:lifeLbB .55s var(--ease) both}
@keyframes lifeLbA{from{opacity:0;transform:translateX(26px) scale(.985)}to{opacity:1;transform:none}}
@keyframes lifeLbB{from{opacity:0;transform:translateX(26px) scale(.985)}to{opacity:1;transform:none}}
.life-lb__nav{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-top:-26px;background:#181818;border:1px solid rgba(255,255,255,.55);color:#FFFFFF;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.life-lb__nav:hover{background:#D4AF37;border-color:#D4AF37;color:#181818}
.life-lb__nav--prev{left:0}
.life-lb__nav--next{right:0}
.life-lb__thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:4px 2px}
.life-lb__thumb{flex:none;width:84px;height:63px;padding:0;border:2px solid transparent;opacity:.55;transition:opacity .2s ease,border-color .2s ease}
.life-lb__thumb img{width:100%;height:100%;object-fit:cover}
.life-lb__thumb:hover{opacity:.9}
.life-lb__thumb.is-active{opacity:1;border-color:#D4AF37}
.life-lb__thumb.is-hidden{display:none}
.life-lb.is-single .life-lb__nav,.life-lb.is-single .life-lb__thumbs{display:none}
.life-lb__close:focus-visible,.life-lb__nav:focus-visible,.life-lb__thumb:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
@media (max-width:600px){
  .life-lb__panel{padding:14px 14px 12px;gap:10px}
  .life-lb__head{grid-template-columns:minmax(0,1fr) auto}
  .life-lb__count{grid-column:1;grid-row:2;padding-top:0}
  .life-lb__close{grid-column:2;grid-row:1}
  .life-lb__nav{width:44px;height:44px;margin-top:-22px}
  .life-lb__thumb{width:64px;height:48px}
  .life-lb__cap{display:none}
}
@media (prefers-reduced-motion:reduce){
  .life-lb__panel,.life-lb__backdrop,.life-event,.life-event__img{transition:none!important}
  .life-lb__img.is-a,.life-lb__img.is-b{animation:none!important}
}

/* 5 - careers hand-off: light gold wash, two columns */
.life-careers{background:var(--gold-10);border-top:1px solid rgba(212,175,55,.38);padding-block:44px}
.life-careers__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:center}
.life-careers__copy{display:grid;gap:10px}
.life-careers__copy h2{color:#0D5630;font-size:clamp(28px,3vw,38px)}
.life-careers__copy p{color:#181818;max-width:620px;font-size:16px}
.life-careers__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

/* layout breakpoints */
@media (max-width:900px){
  .life-hero__stage{height:62vw;min-height:420px}
  .life-hero__band{padding:36px 24px}
  .life-hero__title{font-size:40px}
  .life-careers__grid{grid-template-columns:1fr;gap:18px}
  .life-careers__actions{justify-content:flex-start}
}
@media (max-width:600px){
  .life-hero__stage{height:max(280px,72vw);min-height:0}
  .life-hero__band{padding:28px 20px}
  .life-hero__title{font-size:29px}
  .life-careers{padding-block:34px}
}
.life-event,.life-lb button,.life-slider__arrow{-webkit-tap-highlight-color:transparent}
