/* Keep the page itself in place below the menu backdrop. Reveal columns only as needed. */
.site-footer__grid a,.site-footer__grid p,.site-footer__grid .footer-menu__pending{font-size:15px}
.site-footer__grid h2{font-size:15px}
.site-footer__newsletter label{font-size:15px}
.site-footer__newsletter button{font-size:14px}
.footer-menu__pending{color:inherit;cursor:default}
.menu-overlay{
  --menu-primary:clamp(300px,29vw,410px);
  --menu-secondary:clamp(250px,22vw,330px);
  --menu-cards:clamp(340px,33vw,480px);
  --menu-pad:clamp(20px,3vw,42px);
  display:block;
  background:rgba(8,7,6,.67);
  overflow:hidden;
}
.menu-overlay__background{display:none}
body:has(.menu-overlay:not([hidden])) .site-header{visibility:hidden}
.menu-overlay__panel{
  position:absolute;inset:0 auto 0 0;
  width:var(--menu-primary);height:100%;min-width:0;
  padding:clamp(20px,3.5vw,48px) var(--menu-pad);
  overflow:hidden;transition:width .28s ease;
}
.menu-overlay.has-root .menu-overlay__panel{width:calc(var(--menu-primary) + var(--menu-secondary))}
.menu-overlay .phg-menu{--phg-menu-primary-width:calc(var(--menu-primary) - 2*var(--menu-pad));--phg-menu-column-gap:0px}
.menu-overlay .phg-menu>li{width:var(--phg-menu-primary-width)}
.menu-overlay .phg-menu::before{display:none;left:calc(var(--menu-primary) - var(--menu-pad) + 4px)}
.menu-overlay.has-root .phg-menu::before{display:block}
.menu-overlay .phg-menu>li>.sub-menu{
  left:calc(var(--menu-primary) - var(--menu-pad) + 24px);
  right:auto;width:calc(var(--menu-secondary) - var(--menu-pad) - 36px);
  padding:0;max-height:calc(100dvh - 230px);
}
.menu-overlay__visual{
  position:absolute;left:calc(var(--menu-primary) + var(--menu-secondary));top:0;bottom:0;
  width:min(var(--menu-cards),calc(100vw - var(--menu-primary) - var(--menu-secondary)));
  padding:clamp(20px,3.5vw,48px) clamp(18px,2.5vw,32px);
  display:none;
}
.menu-overlay.has-cards .menu-overlay__visual{display:flex}
.menu-overlay__aside{position:absolute;right:0;top:0;z-index:1}
.menu-overlay__card{grid-template-columns:clamp(96px,8vw,124px) minmax(0,1fr);gap:14px}
.menu-overlay__card-copy strong{font-size:16px;line-height:1.45}
.menu-overlay__card-copy span{font-size:15px;line-height:1.5}

/* All slides share the tallest slide's grid row, so changing projects cannot move the next section. */
.home-featured__developing{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:stretch}
.home-featured__slide{grid-area:1/1/2/2;min-width:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease}
.home-featured__slide.is-active{visibility:visible;opacity:1;pointer-events:auto}
.home-featured__dots{grid-area:2/1/3/2}
.home-featured__slide h3{font-size:17px;line-height:1.4}
.home-featured__slide p,.home-featured__slide dl,.home-featured__slide-bottom,.home-featured__caption small{font-size:15px;line-height:1.55}
.home-featured__caption strong{font-size:17px}
.home-featured__arrow{line-height:0}
.home-featured__arrow svg{display:block}
.home-featured__slide-image{overflow:hidden}
.project-archive .phg-card__scale{font-size:15px;line-height:1.55}

/* Scale the active award visually without changing the strip's measured height. */
.home-awards figure{aspect-ratio:.9;transform:scaleY(1);transform-origin:center;transition:transform .35s ease,box-shadow .35s ease}
.home-awards figure.is-active{aspect-ratio:.9;transform:scaleY(1.07)}
.home-awards figcaption span{font-size:15px;line-height:1.5}

/* Equal image widths and heights throughout the alternating about rows. */
.about-model__row--right{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));flex-wrap:initial}
.about-model__row--right .about-model__copy,.about-model__row--right .about-model__photo{flex:initial}
.about-model__row--right .about-model__copy{order:-1}

/* The homepage fades to black from the bottom, leaving the sky clear. */
.home .page-hero--section{--hero-video-height:clamp(560px,100vh,900px)}
.home .page-hero--section::after{background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.45) 72%,rgba(0,0,0,.88) 100%)}
.home .page-hero--slider::after{display:none}
.page-hero--slider{overflow:hidden}
.phg-home-slides{position:absolute;inset:0;overflow:hidden}
.phg-home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--hero-transition,.6s) ease,transform var(--hero-transition,.6s) ease,visibility 0s linear var(--hero-transition,.6s);background:#29251e;color:#fff}
.phg-home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity var(--hero-transition,.6s) ease,transform var(--hero-transition,.6s) ease,visibility 0s}
.page-hero--slider[data-effect="slide"] .phg-home-slide{transform:translateX(4%)}
.page-hero--slider[data-effect="slide"] .phg-home-slide.is-active{transform:translateX(0)}
.phg-home-slide--dark{color:#171717}
.phg-home-slide__picture,.phg-home-slide__picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phg-home-slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.phg-home-slide--bottom_fade::after{background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.08) 42%,rgba(0,0,0,calc(var(--hero-shade)*.55)) 72%,rgba(0,0,0,var(--hero-shade)) 100%)}
.phg-home-slide--uniform::after{background:rgba(0,0,0,var(--hero-shade))}
.phg-home-slide--none::after{display:none}
.phg-home-slide .page-hero__content{position:relative;z-index:2;width:100%}
.phg-home-slide--left .page-hero__content{align-items:flex-start!important;text-align:left!important}
.phg-home-slide--right .page-hero__content{align-items:flex-end!important;text-align:right!important}
.phg-home-slide--center .page-hero__content{align-items:center!important;text-align:center!important}
.phg-home-slide .page-intro{margin:12px auto 0;font-size:clamp(15px,1.25vw,18px);line-height:1.6}
.phg-home-slide--left .page-intro{margin-left:0}.phg-home-slide--right .page-intro{margin-right:0}
.phg-home-slide .page-hero__copy h2{font-size:clamp(20px,2.1vw,30px);line-height:1.4;letter-spacing:.05em;font-weight:500;margin:0;white-space:pre-line}
.phg-home-slide__cta{display:inline-block;margin-top:20px}
.phg-home-slide .phg-video-play{z-index:3}
.phg-home-slide .phg-video-dialog{z-index:20}
.phg-home-slider__arrows{position:absolute;inset:50% 20px auto;z-index:4;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.phg-home-slider__arrows button{pointer-events:auto;width:44px;height:44px;border:1px solid #ffffffa0;border-radius:50%;background:#18181870;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.phg-home-slider__dots{position:absolute;left:50%;bottom:16px;z-index:4;display:flex;gap:11px;transform:translateX(-50%)}
.phg-home-slider__dots button{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.phg-home-slider__dots button[aria-current="true"]{background:#c6a769;border-color:#c6a769}
.phg-home-slider__arrows button:focus-visible,.phg-home-slider__dots button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.page-hero__video--file video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home .page-hero--section .page-hero__content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.home .page-hero--section .page-hero__copy{max-width:700px}
.home .page-hero--section .phg-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.page-hero__video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:transparent}
.page-hero__video iframe{position:absolute;top:50%;left:50%;width:max(133.34vw,calc(var(--hero-video-height) * 2.25));height:max(75vw,calc(var(--hero-video-height) * 1.265625));border:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .8s ease;pointer-events:none}
.page-hero__video.is-ready iframe{opacity:1}
.phg-video-dialog{position:fixed;max-width:min(94vw,1100px);padding:42px 20px 20px}
.phg-video-dialog iframe,.phg-video-dialog video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
@media(prefers-reduced-motion:reduce){.phg-home-slide,.phg-home-slide.is-active{transition:none}}

@media(max-width:1023px) and (min-width:768px){
  .menu-overlay__visual{display:none!important}
  .menu-overlay__aside{display:none}
}
@media(max-width:1023px){
  body:not(.wp-admin) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select){font-size:17px}
}
@media(max-width:767px){
  .search-icon svg{width:24px;height:24px}
  .site-header__right .phg-language-switcher__trigger{gap:8px;font-size:15px;justify-content:center}
  .site-header__right .phg-language-switcher__trigger svg{flex:none}
  .home-featured__arrow{width:36px;height:36px}
  .home-featured__arrow svg{width:16px;height:16px}
  /* Keep the homepage hero within the visible mobile viewport. */
  .home .page-hero--section{--hero-video-height:100svh;min-height:100svh;height:100svh}
  .home .page-hero--section .page-hero__content{padding-block:100px 44px}
  .menu-overlay{background:#fff;overflow-y:auto}
  .menu-overlay__panel,.menu-overlay.has-root .menu-overlay__panel{position:relative;width:100%;height:auto;min-height:100dvh;overflow:visible;transition:none}
  .menu-overlay .phg-menu>li{width:100%}
  .menu-overlay .phg-menu::before{display:none}
  .menu-overlay .phg-menu>li>.sub-menu{position:static;width:100%;max-height:none;padding:6px 0 10px;margin:4px 0;border-left:0}
  .menu-overlay__visual,.menu-overlay.has-cards .menu-overlay__visual{display:none}
  .menu-overlay__aside{display:none}
  .home-awards figure.is-active{transform:none}
}
@media(max-width:1100px){
  .news-pager{gap:1px;justify-content:space-between}
  .news-pager a{width:32px;height:40px;font-size:13px}
  .news-pager a:first-child,.news-pager a:last-child{min-height:40px;padding:0 4px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .menu-overlay__panel,.home-featured__slide,.home-awards figure{transition:none}
}

/* Let every opening image reach the bottom of the visible viewport. */
.home .page-hero--section{height:100vh;height:100svh;min-height:100svh;--hero-video-height:100svh}
.phg-culture .culture-hero,.phg-contact .contact-page-hero{height:calc(100vh - 84px);height:calc(100svh - 84px)}
.project-detail .project-detail__hero{height:100vh;height:100svh;min-height:100svh}
.page-offset>.page-hero--section{min-height:calc(100vh - 84px);min-height:calc(100svh - 84px)}
