/* WordPress adapters: the design stylesheet remains shared with the approved preview. */
.wpa-skip-link { position:fixed; top:-100px; left:20px; z-index:2000; background:#fff; padding:12px; }
.wpa-skip-link:focus { top:12px; }
.wpSitemap[open] { display:flex; flex-direction:column; gap:16px; position:fixed; inset:0 0 0 auto; margin:0; max-height:none; }
.wpSitemap:not([open]) { display:none; }
.wpSitemap::backdrop { background:rgb(0 0 0 / 12%); }
.wpSitemap .mobileMenuSubnav { visibility:hidden; }
.wpSitemap .mobileMenuGroup.open .mobileMenuSubnav { visibility:visible; }
.mobileMenuPanel .mobileMenuSubnav[hidden] { display:none; }
.wpa-standard-content { padding-block:96px; }
body.admin-bar .mobileMenuTrigger { top:56px; }
body.admin-bar .wpSitemap[open] { top:32px; height:calc(100dvh - 32px); }
@media(max-width:782px) { body.admin-bar .mobileMenuTrigger { top:70px; } body.admin-bar .wpSitemap[open] { top:46px; height:calc(100dvh - 46px); } }
.wpa-form-notice { margin-top:16px; padding:16px; border:1px solid var(--line); font-size:18px; }

.archiveCard[hidden] { display:none!important; }

/* Application delivery feedback follows the existing typography and layout. */
.wpa-form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.applicationForm [aria-invalid="true"]{outline:2px solid #9b352c;outline-offset:2px}
.applicationForm [type="submit"]:disabled{opacity:.65;cursor:default}
.applicationForm .wpa-form-notice{font-size:18px;line-height:1.5;margin:24px 0 0}

.archiveImage{position:relative}
.archiveImage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wpa-project-loading{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:36px}
.wpa-project-loading>[hidden]{display:none}
.wpa-project-status{font-size:18px}
.wpa-project-more[aria-disabled=true]{opacity:.6;pointer-events:none}
.projectFilters{margin:0}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wpa-project-sentinel{display:block;width:100%;height:1px}
.is-complete .wpa-project-loading{margin-top:0}


/* Project photos share the same positioning model as the visual crop editor. */
:is(.archiveImage>img,.projectImageSlider>img){object-position:var(--wpa-photo-desktop,50% 50%);object-fit:var(--wpa-photo-fit,cover)}
.projectImage{--wpa-photo-position:var(--wpa-photo-desktop,50% 50%);background-repeat:no-repeat}
@media(max-width:800px){:is(.archiveImage>img,.projectImageSlider>img){object-position:var(--wpa-photo-mobile,var(--wpa-photo-desktop,50% 50%))}.projectImage{--wpa-photo-position:var(--wpa-photo-mobile,var(--wpa-photo-desktop,50% 50%))}}
.wpa-project-copy{margin-bottom:34px;overflow-wrap:anywhere}
.wpa-project-copy>.projectDescription{padding-bottom:0}
.wpa-project-more{margin-top:20px}
.wpa-project-more>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;width:fit-content;cursor:pointer;list-style:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:18px;color:var(--ink)}
.wpa-project-more>summary::-webkit-details-marker{display:none}
.wpa-project-more>summary>span{display:inline-block;transition:transform .2s}
.wpa-project-more[open]>summary>span{transform:rotate(45deg)}
.wpa-project-more>summary:focus-visible{outline:2px solid var(--wp-green);outline-offset:5px}
.wpa-project-long{margin-top:24px;font-size:18px;line-height:1.65;color:var(--text-muted,#595959)}
.projectFactList>.wpa-project-copy{display:block;border:0;padding:0;margin-bottom:34px}

/* Card copy shares the image edge; long titles get a separate category row. */
.projectMeta{gap:24px;align-items:flex-start}
.projectMeta>div{min-width:0;flex:1}
.projectMeta>span{flex:0 0 auto;max-width:35%;text-align:right;overflow-wrap:normal;word-break:normal}
.projectMeta h3{hyphens:none;word-break:normal;overflow-wrap:break-word}
.projectMeta.is-stacked{flex-wrap:wrap;row-gap:10px}
.projectMeta.is-stacked>div{flex-basis:100%}
.projectMeta.is-stacked>span{margin-left:auto;max-width:100%}
.projectFactList>.wpa-project-copy{padding-top:28px}

/* One persistent header: normal on content pages, transparent over home/project heroes. */
body.wpa-theme{--wpa-admin-offset:0px}
body.wpa-theme.admin-bar{--wpa-admin-offset:32px}
.siteHeader{position:sticky;top:var(--wpa-admin-offset,0px);z-index:998;background:var(--paper);color:var(--ink);transition:background-color .2s,color .2s}
.wpa-hero-overlay .siteHeader{position:fixed;left:0;right:0}
.wpa-hero-overlay.is-hero-header .siteHeader{background:transparent;color:#fff}
.wpa-hero-overlay.is-hero-header .siteHeader nav>a,.wpa-hero-overlay.is-hero-header .siteHeader .navGroup>a{color:#fff}
.siteHeader .profileDropdown{color:var(--ink)}
.siteHeader .brandLogo{filter:none}
.wpa-hero-overlay.is-hero-header>.mobileMenuTrigger{color:#fff;background:transparent;border-color:#ffffff66;backdrop-filter:none;-webkit-backdrop-filter:none}
.wpa-home-overlay .hero{height:calc(100svh - var(--wpa-admin-offset,0px));min-height:430px}
.wpa-home-overlay .heroSlider:after{content:'';pointer-events:none;position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(180deg,#0008,transparent)}
body.wpa-theme .mobileMenuTrigger{top:calc(var(--wpa-admin-offset,0px) + 25px)}
@media(min-width:1001px){.mobileMenuTrigger{display:none!important}}
@media(max-width:1000px){.mobileMenuTrigger{display:grid}}
@media(max-width:800px){body.wpa-theme .mobileMenuTrigger{top:calc(var(--wpa-admin-offset,0px) + 16px)}}
.wpa-project-overlay .projectImageSlider:after{content:'';pointer-events:none;position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(180deg,#0008,transparent);z-index:1}
.wpa-project-overlay .projectImageSlider .projectExpandButton,.wpa-project-overlay .projectImageSlider .projectSliderControls{z-index:2}
@media(min-width:801px){.wpa-project-overlay .projectDetailHero{height:calc(100svh - var(--wpa-admin-offset));min-height:430px;max-height:none}}
@media(max-width:782px){body.wpa-theme.admin-bar{--wpa-admin-offset:46px}}
.projectLightbox .projectLightboxFooter{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);justify-content:center;gap:14px}
.projectLightboxFooter>span{order:2;min-width:70px;text-align:center}
.projectLightboxFooter>button{flex:0 0 42px}
.projectLightboxFooter>button:first-of-type{order:1}
.projectLightboxFooter>button:last-of-type{order:3}

.wpa-project-overlay .projectExpandButton{top:110px}
@media(max-width:800px){.wpa-project-overlay .projectExpandButton{top:92px}}

.pressNote{margin-top:20px;color:var(--text-muted,#595959);font-size:18px}
.pressActions{flex-wrap:wrap;align-items:flex-start}
.pressActions a{max-width:100%;overflow-wrap:anywhere}
.pressCard h2{hyphens:none;overflow-wrap:break-word}

/* Subnavigation stays in document flow on every overview, including with the admin bar. */
body.wpa-theme .profileSubnav{position:relative;top:auto;left:auto;padding-top:20px;margin:0}
body.wpa-theme :is(.officeIntro,.servicesHero,.archiveIntro,.newsIntro){padding-top:48px}
body.wpa-theme .teamSectionProfilesOnly{padding-top:48px}
.profileSubnav a.active:after{display:none}
.profileSubnav :is(.profileIndicator,.journalIndicator){display:none}
.profileSubnav>div{position:relative}
.wpa-subnav-indicator{position:absolute;bottom:0;left:0;height:2px;background:var(--wp-green);pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1)}
@media(max-width:800px){body.wpa-theme .profileSubnav{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.wpa-subnav-indicator{transition:none}}
.heroSlide{position:relative;overflow:hidden}
.heroSlide>img{width:100%;height:100%;object-fit:cover;object-position:var(--wpa-slide-desktop,50% 50%)}
.careerPhotoBackdrop{background:none}
.careerPhotoBackdrop>img{width:100%;height:100%;object-fit:cover;object-position:var(--wpa-career-desktop,51% 72%)}
@media(max-width:800px){.heroSlide>img{object-position:var(--wpa-slide-mobile,var(--wpa-slide-desktop,50% 50%))}}
@media(max-width:600px){.careerPhotoBackdrop>img{object-position:var(--wpa-career-mobile,var(--wpa-career-desktop,51% 72%))}}

.projectImage{position:relative}
.projectImage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--wpa-photo-fit,cover);object-position:var(--wpa-photo-desktop,50% 50%)}
@media(max-width:800px){.projectImage>img{object-position:var(--wpa-photo-mobile,var(--wpa-photo-desktop,50% 50%))}}

/* A single pointer-transparent underline; the new page paints its active state immediately. */
.siteHeader>nav.wpa-has-indicator{position:relative}
.siteHeader>nav.wpa-has-indicator a.active:after{display:none}
.wpa-mainnav-indicator{position:absolute;bottom:2px;left:0;height:2px;background:var(--wp-green);pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1)}
.wpa-mainnav-indicator[hidden],.wpa-subnav-indicator[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.wpa-mainnav-indicator{transition:none}}
/* The whole left column sticks below the header until the shared grid ends. */
@media(min-width:801px){
 .careerPage .careerApplicationAside{position:sticky;top:calc(var(--wpa-admin-offset,0px) + var(--wpa-header-height,94px) + 24px);align-self:start}
}

/* Legal pages: a quiet title column and a readable text column. */
.wpa-legal-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: start;
  padding-block: clamp(3rem, 6vw, 6rem);
}
.wpa-legal-content > h1 { margin: 0; overflow-wrap: anywhere; }
.wpa-legal-content .legalBody { min-width: 0; max-width: 70ch; overflow-wrap: anywhere; line-height: 1.65; }
.wpa-legal-content .legalBody :is(p, ul, ol) { margin: 0 0 1rem; }
.wpa-legal-content .legalBody :is(h2, h3, h4) { margin: 2rem 0 .65rem; font-size: var(--type-lead, 24px); line-height: 1.25; }
.wpa-legal-content .legalBody h2:not(:first-child) { border-top: 1px solid var(--line, #d5d5d5); padding-top: 1.25rem; }
.wpa-legal-content .legalBody > :first-child { margin-top: 0; }
.wpa-legal-content .legalBody :is(ul, ol) { padding-inline-start: 1.5em; }
.wpa-legal-content .legalBody ul { list-style: disc; }
.wpa-legal-content .legalBody ol { list-style: decimal; }
.wpa-legal-content .legalBody a { text-decoration: underline; text-underline-offset: .15em; }
@media (max-width: 900px) {
  .wpa-legal-content { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
}

/* One layout for both managed and imported project facts. */
body .projectFactList > div:not(.wpa-project-copy) {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  column-gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: start;
}
body .projectFactList > div:not(.wpa-project-copy) > :is(span, strong) {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal !important; /* Also overrides legacy inline pre-line. */
}
body .projectFactList > div:not(.wpa-project-copy) > strong { text-align: right; }
@media (max-width: 900px) {
  body .projectFactList > div:not(.wpa-project-copy) { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  body .projectFactList > div:not(.wpa-project-copy) > strong { text-align: left; }
}

/* The home image runs behind the status bar; controls stay inside the safe area. */
.wpa-home-overlay .siteHeader {
  box-sizing: content-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-left: max(3.5vw, env(safe-area-inset-left, 0px));
  padding-right: max(3.5vw, env(safe-area-inset-right, 0px));
}
@media (max-width: 1000px) {
  body.wpa-home-overlay .mobileMenuTrigger {
    top: calc(var(--wpa-admin-offset, 0px) + 25px + env(safe-area-inset-top, 0px));
    right: max(16px, env(safe-area-inset-right, 0px));
  }
}
@media (max-width: 800px) {
  .wpa-home-overlay .siteHeader {
    padding-left: max(22px, env(safe-area-inset-left, 0px));
    padding-right: max(22px, env(safe-area-inset-right, 0px));
  }
  body.wpa-home-overlay .mobileMenuTrigger {
    top: calc(var(--wpa-admin-offset, 0px) + 16px + env(safe-area-inset-top, 0px));
  }
}
