/* P1 only. Compositions inherit the site's palette and typography. */
.p1-header,.p1-footer{color:var(--p1-ink,var(--pb-text));background:var(--p1-bg,var(--pb-bg));position:relative;box-sizing:border-box;isolation:isolate}
.p1-header *,.p1-footer *,.p1-mega *,.p1-campus *,.p1-dock *{box-sizing:border-box;min-width:0}
.p1-header a,.p1-footer a,.p1-mega a,.p1-campus a,.p1-dock a{color:inherit;text-underline-offset:.25em;overflow-wrap:anywhere}
.p1-header :is(a,button,summary):focus-visible,.p1-footer :is(a,input,button):focus-visible,.p1-mega :is(a,summary):focus-visible,.p1-campus :is(a,select):focus-visible,.p1-dock a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.p1-header :is(button,summary),.p1-footer button,.p1-mega summary{font:inherit;color:inherit;cursor:pointer;min-height:44px}
.p1-header--sticky{position:sticky;top:0;z-index:50}
.p1-header__bar{width:min(100%,80rem);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1rem,3vw,3rem)}
.p1-header--full .p1-header__bar{width:100%}
.p1-brand{font-weight:700;text-decoration:none;font-size:1.25rem;line-height:1.15;overflow-wrap:anywhere}
.p1-brand img{height:var(--p1-logo-height,36px);max-width:100%;width:auto;object-fit:contain}
.p1-header__nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}
.p1-header__nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.p1-header__nav a:hover,.p1-header [aria-current=page]{text-decoration:underline}
.p1-nav-item{display:flex;align-items:center;position:relative}
.p1-nav-item summary{display:grid;place-items:center;min-width:44px;list-style:none}
.p1-nav-children{position:absolute;top:100%;left:0;min-width:13rem;padding:1rem;background:var(--p1-bg,var(--pb-bg));border:1px solid var(--pb-border);z-index:5}
.p1-nav-children a{display:flex}
.p1-header__cta{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;min-height:44px;border:1px solid currentColor;border-radius:var(--pb-radius,0);text-decoration:none}
.p1-menu{position:relative}
.p1-menu>summary{display:flex;gap:1rem;align-items:center;padding:.6rem .8rem;list-style:none;border:1px solid currentColor;border-radius:var(--pb-radius,0)}
.p1-menu>summary::-webkit-details-marker{display:none}
.p1-menu__fallback{position:absolute;right:0;top:100%;width:min(20rem,85vw);background:var(--p1-bg,var(--pb-bg));padding:1rem;border:1px solid currentColor;z-index:10}
.p1-menu__fallback a{display:block;padding:.7rem}
.p1-menu[data-p1-ready]>.p1-menu__fallback{display:none}
.p1-dialog{color:var(--pb-text);background:var(--pb-bg);border:0;width:100%;max-width:none;max-height:none;height:100vh;height:100dvh;margin:0;padding:clamp(1rem,5vw,5rem);overflow:auto}
.p1-dialog::backdrop{background:var(--pb-text)}
.p1-dialog__close{display:block;margin-left:auto;padding:.7rem 1rem;border:1px solid currentColor;background:transparent;border-radius:var(--pb-radius,0)}
.p1-dialog ol{list-style:decimal-leading-zero;max-width:65rem;margin:3rem auto;padding-left:3rem}
.p1-dialog ol>li{padding:1rem 0;border-bottom:1px solid var(--pb-border)}
.p1-dialog ol>li>a{font-size:clamp(1.8rem,6vw,5rem);line-height:1.15;text-decoration:none}
.p1-dialog ul{display:flex;flex-wrap:wrap;gap:.6rem 2rem;list-style:none;padding:1rem 0 0}
.p1-dialog ul a{display:inline-block;padding:.5rem 0}
.p1-header--appbar{background:transparent;padding:.75rem;pointer-events:none}
.p1-header--appbar .p1-header__bar{pointer-events:auto;background:var(--p1-bg,var(--pb-bg));border:1px solid var(--pb-border);border-radius:3rem;box-shadow:0 8px 24px color-mix(in srgb,var(--pb-text) 10%,transparent)}
.p1-header--minimal .p1-header__bar{display:grid;grid-template-columns:1fr auto 1fr;min-height:7rem}
.p1-header--minimal .p1-brand{grid-column:2;grid-row:1;text-align:center}
.p1-header--minimal .p1-menu{grid-column:1;grid-row:1;justify-self:start}
.p1-header--minimal .p1-header__cta{grid-column:3;grid-row:1;justify-self:end}
.p1-header--corners{min-height:32rem;min-height:min(70svh,560px)}
.p1-header--corners .p1-header__bar{min-height:inherit;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:start;position:relative}
.p1-header--corners .p1-brand{grid-column:1;grid-row:1;justify-self:start}
.p1-header--corners .p1-menu{grid-column:2;grid-row:1;justify-self:end}
.p1-header--corners .p1-header__cta{grid-column:2;grid-row:3;justify-self:end}
.p1-header--corners .p1-header__caption{grid-column:1;grid-row:3;align-self:center;margin:0;font-size:clamp(1rem,2vw,1.8rem)}
.p1-header--corners :is(.p1-brand,.p1-header__caption){padding:.75rem;background:var(--p1-bg,var(--pb-bg));border-radius:var(--pb-radius,0)}
.p1-header--corners :is(.p1-menu>summary,.p1-header__cta){background:var(--p1-bg,var(--pb-bg))}
.p1-header__photo,.p1-footer__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.p1-header--corners.p1-header--sticky{position:relative}
.p1-header--kinetic .p1-header__bar{display:grid;grid-template-columns:minmax(0,1fr) auto}
.p1-header--kinetic .p1-brand{grid-column:1/-1;font-size:clamp(2.5rem,10vw,10rem);letter-spacing:-.055em}
.p1-header--kinetic .p1-header__nav{justify-content:start}
.p1-header--kinetic .p1-menu{grid-column:2;grid-row:2}
.p1-header--kinetic .p1-header__cta{grid-column:2;grid-row:3}
.p1-header--kinetic.p1-scrolled .p1-brand{font-size:clamp(1.5rem,3vw,3rem)}
.p1-header--rail .p1-header__nav{flex-direction:column;align-items:start}
.p1-scroll-target .p1-brand,.p1-scroll-target .p1-header__bar{transition:font-size .25s ease,padding .25s ease}
.p1-scroll-target.p1-scrolled .p1-header__bar{padding-top:.5rem;padding-bottom:.5rem}
.p1-scroll-target:not(.p1-header).p1-scrolled>div:first-of-type{padding-top:.5rem!important;padding-bottom:.5rem!important}
.p1-scroll-target:not(.p1-header).p1-scrolled img{max-height:28px}
.p1-scroll-target:not(.p1-header).p1-scrolled{--pb-header-h:52px}
.p1-footer{padding:clamp(3rem,7vw,7rem) clamp(1rem,4vw,4rem) 1.5rem;border-top:1px solid var(--pb-border)}
.p1-footer__content{max-width:80rem;margin:auto;position:relative}
.p1-footer--full .p1-footer__content{max-width:none}
.p1-footer__columns{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem 3rem;padding-bottom:3rem;align-items:start}
.p1-footer__columns>nav{flex:1 1 9rem}
.p1-footer__brand{flex:2 1 15rem;font-size:1.4rem;font-weight:600}
.p1-footer__brand p{font-size:1rem;font-weight:400;max-width:30ch}
.p1-footer__brand img{max-width:100%;object-fit:contain}
.p1-footer__columns a{display:block;min-height:44px;padding:.55rem 0}
.p1-footer__columns h3{font-size:1rem;margin:0 0 1rem}
.p1-footer__legal{padding-top:1.25rem;border-top:1px solid currentColor}
.p1-footer__closing{padding-bottom:clamp(3rem,6vw,6rem);margin-bottom:3rem;border-bottom:1px solid currentColor}
.p1-footer__closing h2{font-size:clamp(2.5rem,7vw,7rem);line-height:1.05;letter-spacing:-.04em;max-width:18ch;margin:0 0 1.5rem;overflow-wrap:anywhere}
.p1-footer__closing p{white-space:pre-line;max-width:60ch}
.p1-footer__ask{display:inline-flex;align-items:center;gap:2rem;min-height:44px;padding:.7rem 0;font-size:1.25rem}
.p1-footer__signature{font-style:italic;font-size:clamp(1.5rem,3vw,2.5rem)}
.p1-footer--bank{background:var(--p1-bg,var(--pb-surface))}
.p1-footer--bank .p1-footer__columns{gap:2rem;font-size:.95rem}
.p1-footer__badges{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;max-width:18rem}
.p1-footer__badges li{padding:.5rem .8rem;border:1px solid currentColor;border-radius:var(--pb-radius,0)}
.p1-footer--photo:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--p1-bg,var(--pb-bg));opacity:.55}
.p1-footer--photo .p1-footer__columns{min-height:18rem;align-items:center}
.p1-footer--cta .p1-footer__closing{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:1rem 3rem;align-items:center}
.p1-footer--cta .p1-footer__closing h2{grid-column:1;grid-row:1/3}
.p1-footer--cta .p1-footer__ask{grid-column:2}
.p1-footer--signoff .p1-footer__closing{max-width:65rem;margin-left:auto}
.p1-footer--signoff .p1-footer__signature{text-align:right}
.p1-footer__wordmark,.p1-footer__stage{font-size:clamp(3rem,12vw,12rem);line-height:1;letter-spacing:-.055em;overflow-wrap:anywhere;margin:0 0 3rem}
.p1-footer__stage{padding-top:2rem;border-top:1px solid currentColor;margin:0 0 2rem}
.p1-footer--stage .p1-footer__closing{max-width:50rem;border:0}
.p1-footer--stage .p1-footer__closing h2{font-size:clamp(2.5rem,5vw,5rem)}
.p1-footer--wordmark .p1-footer__columns{padding-top:2rem;border-top:1px solid currentColor}
.p1-footer__letter{max-width:46rem;margin:0 auto 4rem}
.p1-footer__letter h2{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.1}
.p1-footer__letter p{white-space:pre-line}
.p1-footer__letter form{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}
.p1-footer__letter label{flex:1 1 15rem}
.p1-footer__letter input{display:block;width:100%;padding:.8rem;margin-top:.5rem;background:var(--pb-bg);color:var(--pb-text);border:1px solid currentColor;border-radius:var(--pb-radius,0);font:inherit;min-height:44px}
.p1-footer__letter input[hidden]{display:none}
.p1-footer__letter button{padding:.8rem 1.25rem;border:1px solid currentColor;border-radius:var(--pb-radius,0);background:transparent}
.p1-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:3rem;padding-bottom:4rem;margin-bottom:3rem;border-bottom:1px solid currentColor}
.p1-visit h2{font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;margin-top:0}
.p1-visit address{white-space:pre-line;font-style:normal}
.p1-visit a{display:inline-block;padding:.6rem 0;min-height:44px}
.p1-visit dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--pb-border);padding:.5rem 0}
.p1-visit dd{margin:0}
.p1-visit__map,.p1-visit__directions{align-self:stretch;display:grid!important;place-items:center;min-height:20rem;background:var(--pb-surface);border-radius:var(--pb-radius,0);overflow:hidden}
.p1-visit__map>div{width:100%;height:100%}
.p1-mega,.p1-campus{padding:clamp(1rem,4vw,3rem);color:var(--pb-text)}
.p1-mega summary{display:flex;align-items:center;justify-content:space-between;font-size:1.5rem;border-bottom:1px solid currentColor;padding:.5rem 0;cursor:pointer;min-height:44px}
.p1-mega summary:after{content:"+"}
.p1-mega[open] summary:after{content:"−"}
.p1-mega__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:2rem;padding-top:2rem}
.p1-mega nav{display:flex;flex-wrap:wrap;gap:2rem}
.p1-mega nav>div{flex:1 1 10rem}
.p1-mega a,.p1-campus a{display:block;padding:.6rem 0;min-height:44px}
.p1-mega__media{position:relative;align-self:stretch;min-height:15rem;border-radius:var(--pb-radius,0);overflow:hidden}
.p1-mega__media:before{content:"";display:block;aspect-ratio:4/3}
.p1-mega__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p1-mega__feature{grid-column:1/-1;max-width:65ch}
.p1-campus{max-width:65rem;margin:auto}
.p1-campus h2{font-size:clamp(2rem,4vw,3.5rem)}
.p1-campus select{display:block;min-height:44px;max-width:100%;width:100%;font:inherit;padding:.75rem;color:var(--pb-text);background:var(--pb-bg);border:1px solid currentColor;border-radius:var(--pb-radius,0);margin:1rem 0}
.p1-campus article{padding:1.5rem 0;border-top:1px solid var(--pb-border)}
.p1-campus article[hidden]{display:none}
.p1-campus address{font-style:normal}
.p1-dock{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;border:1px solid var(--pb-border);padding:.5rem;color:var(--pb-text);background:var(--pb-bg);border-radius:var(--pb-radius,0)}
.p1-dock a{flex:1 1 4rem;display:grid;place-items:center;padding:.5rem;min-height:44px;text-align:center;line-height:1.25}
.p1-details{padding:1rem;border:1px dashed var(--pb-border);color:var(--pb-text)}
[data-block-type="p1_chrome_details"]:not(:has(.p1-details)){display:none}
[data-block-type="p1_navigation"]:has(.p1-compact-control:empty){display:none}
.p1-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1100px){
.p1-header--rail:not(.p1-header--preview){position:fixed;inset:0 auto 0 0;width:var(--p1-rail-width,12rem);z-index:50;border-right:1px solid var(--pb-border);overflow-y:auto}
.p1-header--rail .p1-header__bar{min-height:100%;flex-direction:column;align-items:start;justify-content:start;padding:2rem 1.5rem}
.p1-header--rail .p1-header__cta{margin-top:auto}
.p1-header--rail .p1-nav-children{position:static;min-width:0}
.p1-header--rail .p1-menu{display:none}
/* Only pages with this explicit P1 rail receive an offset. */
body:has(>.p1-header--rail:not(.p1-header--preview)){padding-left:var(--p1-rail-width,12rem)}
}
@media(max-width:1099px){.p1-header__nav{display:none}.p1-header--kinetic .p1-menu{grid-row:2}.p1-header--kinetic .p1-header__cta{grid-row:2;grid-column:1;justify-self:start}}
@media(max-width:767px){
.p1-header__bar{gap:.75rem;padding:1rem}
.p1-header--minimal .p1-header__bar{grid-template-columns:auto minmax(0,1fr);min-height:5rem}
.p1-header--minimal .p1-menu{grid-column:1}
.p1-header--minimal .p1-brand{grid-column:2;text-align:right;justify-self:end}
.p1-header--minimal .p1-header__cta{grid-row:2;grid-column:1/-1;justify-self:stretch}
.p1-header--appbar .p1-header__bar{border-radius:var(--pb-radius,0);flex-wrap:wrap}
.p1-header--appbar .p1-brand{flex:1 1 55%}
.p1-header--appbar .p1-header__cta{order:3;flex-basis:100%}
.p1-header--corners{min-height:28rem}
.p1-footer--cta .p1-footer__closing,.p1-visit,.p1-mega__grid{grid-template-columns:minmax(0,1fr)}
.p1-footer--cta .p1-footer__closing h2,.p1-footer--cta .p1-footer__ask{grid-column:auto;grid-row:auto}
.p1-dock-space{min-height:5.5rem;padding-bottom:env(safe-area-inset-bottom)}
.p1-dock{position:fixed;bottom:0;left:0;right:0;z-index:45;padding-bottom:max(.5rem,env(safe-area-inset-bottom));border-radius:0;gap:0}
body:has(.p1-dock){padding-bottom:calc(var(--p1-dock-h,6rem) + 1rem)}
}
@media(prefers-reduced-motion:reduce){.p1-scroll-target .p1-brand,.p1-scroll-target .p1-header__bar{transition:none}.p1-header--kinetic .p1-brand{font-size:clamp(1.5rem,3vw,3rem)}}

@media(max-width:767px){
.p1-header .p1-header__bar{display:flex;flex-wrap:nowrap;min-height:64px;gap:1rem;padding:10px 1rem}
.p1-header .p1-brand{font-size:1.15rem;order:0;flex:1}
.p1-header .p1-menu{order:2;flex:none}
.p1-header .p1-header__cta{display:none}
.p1-header--kinetic .p1-brand{font-size:1.25rem}
.p1-header--rail{background:var(--pb-bg)}
.p1-header--minimal .p1-brand{text-align:left}
}

@media(min-width:1100px){.p1-header--rail{--p1-bg:var(--pb-bg);--p1-ink:var(--pb-text)}}

/* Editorial brand scale keeps the studio's positioning in the first screen. */
.p1-header--kinetic .p1-header__bar{display:flex;flex-wrap:wrap}
.p1-header--kinetic .p1-brand,.p1-header--kinetic.p1-scrolled .p1-brand{font-size:1.5rem;letter-spacing:-.035em}
.p1-header--kinetic .p1-header__nav{flex:1;justify-content:center}
@media(max-width:767px){.p1-header--kinetic .p1-brand{font-size:1.25rem}}

.p1-menu__cta{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1rem;border:1px solid currentColor;margin-block:1rem}

/* Q3a: reserve a readable horizontal brand before giving space to the menu. */
.p1-header .p1-brand{word-break:normal;overflow-wrap:normal;hyphens:none}
@media(max-width:767px){
  .p1-header .p1-header__bar{flex-wrap:wrap}
  .p1-header .p1-brand{flex:1 0 auto;max-width:100%;white-space:nowrap;font-size:clamp(.875rem,.7rem + 1.8vw,1.15rem)}
  .p1-header .p1-menu{margin-inline-start:auto}
  .p1-header--corners .p1-brand{padding:.5rem}
}
.p1-footer :is(h2,.p1-footer__wordmark,.p1-footer__stage){overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
