/* Full-width home hero. The photograph remains an editable WordPress image block. */
.home .wp-site-blocks > header{position:absolute;inset:0 0 auto;z-index:20;margin:0}
.home .hp-header{min-height:0;padding:24px 3%;gap:28px;align-items:center}
.home .hp-header .wp-block-site-logo{width:clamp(235px,23vw,340px)}
.home .hp-navigation{background:#fff;border-radius:0;box-shadow:0 8px 30px #1b364b18;padding-left:28px}
.home .hp-navigation .wp-block-navigation__container{gap:clamp(26px,2.25vw,36px);flex-wrap:nowrap}
.home .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child{background:linear-gradient(110deg,#eda139,#f76a3d);padding:23px 28px;border-radius:0}
.home .hp-navigation .wp-block-navigation-item__content{white-space:nowrap}
.home .hp-navigation .current-menu-item:not(:last-child) > a{text-decoration:underline;text-decoration-color:#f76a3d;text-decoration-thickness:2px;text-underline-offset:9px}

.hp-hero.hp-hero-photo{height:100svh;min-height:730px;max-height:1100px;overflow:clip;aspect-ratio:auto;display:flex;align-items:center;isolation:isolate;background:#dcecf3}
.hp-hero.hp-hero-photo .hp-hero-image{position:absolute!important;inset:0;width:100%;height:100%;max-height:none;margin:0!important;z-index:0;overflow:hidden;aspect-ratio:auto}
.hp-hero.hp-hero-photo .hp-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;transform-origin:64% 55%;transform:translate3d(0,0,0) scale3d(1,1,1);backface-visibility:hidden;will-change:transform;animation:none}
.hp-hero.hp-hero-photo .hp-hero-image::after{display:none}
.hp-hero.hp-hero-photo::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,#fff 0%,#fff 25%,rgb(255 255 255 / 96%) 32%,rgb(255 255 255 / 83%) 39%,rgb(255 255 255 / 40%) 49%,transparent 64%);pointer-events:none}
.hp-hero.hp-hero-photo::after{content:"";display:block;position:absolute;inset:-40% auto auto -17%;width:100%;height:180%;z-index:4;background:url("assets/images/hero-orange-veil.webp") center / 100% 100% no-repeat;pointer-events:none;opacity:.9}
.hp-hero.hp-hero-photo .hp-hero-copy{position:relative;z-index:5;width:100%;padding:145px 5% 105px;pointer-events:none}
.hp-hero.hp-hero-photo .hp-hero-copy a{pointer-events:auto}
.hp-hero.hp-hero-photo h1{font-size:clamp(38px,4.1vw,64px);line-height:1.5;letter-spacing:.12em;margin-bottom:30px}
.hp-hero.hp-hero-photo p{font-size:16px;font-weight:600;line-height:2.05;letter-spacing:.08em;max-width:570px;margin-bottom:26px}
.hp-hero.hp-hero-photo .wp-block-buttons{margin-top:30px}
.hp-hero.hp-hero-photo .wp-block-button__link{box-shadow:0 8px 24px #d85d2220}
.home .hp-news{margin:0!important;clip-path:none;min-height:90px;justify-content:flex-end;padding:20px 5%;border-bottom:1px solid #eee}
.home .hp-news .hp-latest-query{flex:0 1 660px}
.home.admin-bar .wp-site-blocks > header{top:32px}
.home.admin-bar .hp-hero.hp-hero-photo{height:calc(100svh - 32px)}
/* CSS-only playback; compositor eligibility still depends on the browser. */
.hp-hero.hp-hero-photo .hp-hero-image{opacity:0;visibility:hidden;transition:opacity 1.2s ease;will-change:opacity;contain:paint}
.hp-hero.hp-hero-photo .hp-hero-image:first-child{opacity:1;visibility:visible}
.hp-hero.hp-hero-photo.hp-slideshow-ready .hp-hero-image{opacity:0;visibility:hidden}
.hp-hero.hp-hero-photo.hp-slideshow-ready .hp-hero-image.is-previous{opacity:1;visibility:visible;z-index:0}
.hp-hero.hp-hero-photo.hp-slideshow-ready .hp-hero-image.is-active{opacity:1;visibility:visible;z-index:1}
.hp-hero.hp-hero-photo .hp-hero-image.is-moving img{animation:hp-hero-drift 7s linear both}
.hp-hero.hp-hero-photo.hp-slideshow-paused .hp-hero-image img{animation-play-state:paused}
.hp-hero.hp-hero-photo .hp-hero-image[hidden]{display:none!important}
@keyframes hp-hero-drift{from{transform:translate3d(0,0,0) scale3d(1,1,1)}to{transform:translate3d(0,0,0) scale3d(1.028,1.028,1)}}
.hp-hero-controls{position:absolute;z-index:6;right:3%;bottom:25px;display:flex;align-items:center;gap:4px;background:rgb(255 255 255 / 88%);padding:3px 6px;box-shadow:0 4px 20px #152d3b12}
.hp-hero-controls button{width:36px;height:36px;display:grid;place-items:center;background:none;border:0;padding:0;color:#303437;cursor:pointer}
.hp-hero-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:#8c9597;transition:background .2s,transform .2s}
.hp-hero-dot[aria-pressed=true]::before{background:#e96e3c;transform:scale(1.35)}
.hp-hero-pause svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.hp-hero-controls .hp-play-icon,.hp-hero-controls .is-paused .hp-pause-icon{display:none}
.hp-hero-controls .is-paused .hp-play-icon{display:block}
.hp-hero-controls button[hidden]{display:none}

@media(min-width:801px) and (max-width:1150px){
  .hp-hero.hp-hero-photo p{max-width:44vw;letter-spacing:.03em}
  .hp-hero.hp-hero-photo::before{background:linear-gradient(90deg,#fff 0%,#fff 32%,rgb(255 255 255 / 96%) 42%,rgb(255 255 255 / 78%) 51%,transparent 76%)}
}
@media(max-width:1100px){
  .home .hp-header{padding:18px 5%;gap:15px}
  .home .hp-header .wp-block-site-logo{width:260px;max-width:calc(100% - 70px)}
  .home .hp-navigation{padding:0;border-radius:0;background:transparent;box-shadow:none}
  .home .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child{padding:0;border-radius:0;background:transparent}
  .home .hp-header .hp-navigation > .wp-block-navigation__responsive-container-open{background:#fff;border-radius:0;box-shadow:0 4px 20px #1b364b18}
}
@media(max-width:800px){
  .hp-hero.hp-hero-photo{height:100svh;min-height:800px;max-height:1050px;display:flex;align-items:flex-start}
  .hp-hero.hp-hero-photo .hp-hero-image{inset:0;width:100%;height:100%;aspect-ratio:auto;max-height:none}
  .hp-hero.hp-hero-photo .hp-hero-image img{object-position:69% center;transform-origin:69% 65%}
  .hp-hero.hp-hero-photo::before{background:linear-gradient(180deg,#fff 0%,rgb(255 255 255 / 98%) 38%,rgb(255 255 255 / 93%) 53%,rgb(255 255 255 / 25%) 73%,transparent 85%)}
  .hp-hero.hp-hero-photo::after{inset:48% auto auto -62%;width:180%;height:47%;opacity:.8}
  .hp-hero.hp-hero-photo .hp-hero-copy{padding:125px 6% 85px}
  .hp-hero.hp-hero-photo h1{font-size:clamp(31px,8.7vw,46px);letter-spacing:.08em;line-height:1.55;margin-bottom:25px}
  .hp-hero.hp-hero-photo p{max-width:560px;font-size:16px;letter-spacing:0;line-height:2;margin-bottom:24px}
  .home .hp-news{padding:23px 6%;gap:16px;justify-content:flex-start}
  .home .hp-news .hp-latest-query{flex:1 1 calc(100% - 100px)}
}
@media(max-width:782px){.home.admin-bar .wp-site-blocks > header{top:46px}.home.admin-bar .hp-hero.hp-hero-photo{height:calc(100svh - 46px)}}
@media(max-width:1100px){.admin-bar .hp-header .hp-navigation.wp-block-navigation > .wp-block-navigation__responsive-container{top:32px;height:calc(100dvh - 32px)}}
@media(max-width:782px){.admin-bar .hp-header .hp-navigation.wp-block-navigation > .wp-block-navigation__responsive-container{top:46px;height:calc(100dvh - 46px)}}
@media(prefers-reduced-motion:reduce){.hp-hero.hp-hero-photo .hp-hero-image img{animation:none!important;transform:none}.hp-hero.hp-hero-photo .hp-hero-image{transition:none}}
/* Keep all three standard image blocks accessible in the WordPress editor. */
.editor-styles-wrapper .hp-hero.hp-hero-photo{height:auto;min-height:0;max-height:none;display:block;padding:20px;background:#f3f6f7}
.editor-styles-wrapper .hp-hero.hp-hero-photo::before,.editor-styles-wrapper .hp-hero.hp-hero-photo::after{display:none}
.editor-styles-wrapper .hp-hero.hp-hero-photo .hp-hero-image{position:relative!important;inset:auto;opacity:1;visibility:visible;width:100%;height:190px;margin-bottom:15px!important;animation:none}
.editor-styles-wrapper .hp-hero.hp-hero-photo .hp-hero-copy{padding:24px 0}

/* Desktop navigation: ring expands and label changes color on interaction. */
@media(min-width:1101px){
  .hp-header nav.hp-navigation{background:#fff;padding:0;border-radius:0}
  .hp-header .hp-navigation .wp-block-navigation__container{gap:clamp(26px,2.25vw,36px);flex-wrap:nowrap;padding:0;background:transparent;box-shadow:none}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:first-child{margin-left:26px}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child{background:none;padding:0;color:#202020;border-radius:0}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content{position:relative;display:flex;align-items:center;gap:8px;min-height:76px;padding:0;color:#202020;text-decoration:none;white-space:nowrap;transition:color .6s cubic-bezier(.65,0,.35,1)}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#f4773b;transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover,:focus-visible)::after{transform:scaleX(1)}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{background:linear-gradient(110deg,#eda139,#f76a3d);color:#fff;padding:0 24px;gap:10px}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content::before{display:none}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content::after{background:#b9481e}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child .hp-menu-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content::before{content:"";display:block;flex:0 0 8px;width:8px;height:8px;box-sizing:border-box;border:2px solid #ed7839;border-radius:50%;transform:scale(1);transition:transform .6s cubic-bezier(.65,0,.35,1)}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover,:focus-visible){color:#bd4b21;text-decoration:none}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:is(:hover,:focus-visible){color:#fff}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover,:focus-visible)::before{transform:scale(1.4)}
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible{outline:2px solid #bd4b21;outline-offset:5px}
}
@media(min-width:1101px) and (max-width:1250px){
  .hp-header .wp-block-site-logo,.home .hp-header .wp-block-site-logo{width:220px}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:first-child{margin-left:14px}
  .hp-header .hp-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{padding:0 18px}
  .hp-header .hp-navigation .wp-block-navigation__container{gap:24px}
}
@media(prefers-reduced-motion:reduce){
  .hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content,.hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content::before,.hp-header .hp-navigation .wp-block-navigation-item > .wp-block-navigation-item__content::after{transition:none}
}

/* Keep the photo raster at its largest size and animate the containing surface.
   Avoid nested opacity/3D-transform/paint-containment surfaces during fades. */
body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image{
  inset:-1.4%;width:102.8%;height:102.8%;overflow:visible;contain:none;
  transform-origin:center;transform:scale(.9727626459);will-change:transform,opacity;
}
body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image img{
  transform:none;animation:none;will-change:auto;backface-visibility:visible;
}
body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image.is-moving{
  animation:hp-hero-surface-drift 7s linear both;
}
body:not(.wp-admin) .hp-hero.hp-hero-photo.hp-slideshow-paused .hp-hero-image{
  animation-play-state:paused;
}
@keyframes hp-hero-surface-drift{from{transform:scale(.9727626459)}to{transform:scale(1)}}
body:not(.wp-admin) .hp-hero.hp-hero-photo.hp-hero-no-zoom .hp-hero-image{animation:none!important;transform:scale(.9727626459);will-change:opacity}
body:not(.wp-admin) .hp-hero.hp-hero-photo.hp-hero-no-zoom .hp-hero-image img{animation:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){
  body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image.is-moving{animation:none}
}

/* Native Services submenu: hover, keyboard focus, and toggle button. */
@media(min-width:1101px){
 .hp-header li.hp-services-menu{position:relative;gap:5px}
 .hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container{background:#fff;color:#202020;border:0;border-top:3px solid #f4773b;min-width:270px;padding:10px 0;box-shadow:0 10px 25px #0002;gap:0;z-index:30}
 .hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container > li{width:100%;margin:0;padding:0;background:transparent}
 .hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container > li > a{min-height:52px;padding:12px 20px;width:100%;font-size:15px;letter-spacing:.04em;background:transparent;color:#202020;box-sizing:border-box}
 .hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container > li > a::before,.hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container > li > a::after{display:none}
 .hp-header .hp-navigation .hp-services-menu .wp-block-navigation__submenu-container > li > a:is(:hover,:focus-visible){background:#fff3ed;color:#bd4b21}
 .hp-header .hp-navigation .hp-services-menu .hp-menu-icon{display:none}
}
@media(max-width:1100px){
 .hp-header .hp-services-menu > .wp-block-navigation-submenu__toggle,.hp-header .hp-services-menu > .wp-block-navigation__submenu-icon{display:none!important}
}
/* Keep the homepage mobile header available while scrolling. */
@media(max-width:1100px){
 .home .wp-site-blocks > header{position:fixed;inset:0 0 auto;z-index:100;background:#fff}
 .home.admin-bar .wp-site-blocks > header{top:32px}
}
@media(max-width:782px){.home.admin-bar .wp-site-blocks > header{top:46px}}

/* Give mobile slides their own portrait area below the introduction. */
@media(max-width:800px){
 .home.admin-bar .hp-hero.hp-hero-photo{height:auto}
 body:not(.wp-admin) .hp-hero.hp-hero-photo{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:0;max-height:none;gap:0;background:#fff}
 body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-copy{grid-area:1 / 1;padding:112px 6% 36px}
 body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image{position:relative!important;grid-area:2 / 1;inset:auto;width:100%;height:clamp(360px,115vw,560px);margin:0!important;overflow:hidden;transform:none!important;animation:none!important;will-change:opacity}
 body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image img{width:100%;height:100%;object-fit:cover;object-position:60% center;transform:none;animation:none}
 body:not(.wp-admin) .hp-hero.hp-hero-photo .hp-hero-image:nth-of-type(3) img{object-position:35% center}
 body:not(.wp-admin) .hp-hero.hp-hero-photo::before{display:block;position:relative;grid-area:2 / 1;inset:auto;width:100%;height:100%;background:linear-gradient(180deg,#fff 0%,rgb(255 255 255 / 75%) 9%,rgb(255 255 255 / 20%) 23%,transparent 38%);pointer-events:none}
 body:not(.wp-admin) .hp-hero.hp-hero-photo::after{display:none}
 body:not(.wp-admin) .hp-hero-photo .hp-hero-controls{right:16px;bottom:16px}
}
