/* Only the authored internal pages share these foundations, never their composition. */
.pn-page-design{--pn-design-gutter:clamp(20px,4vw,72px);--pn-design-nav-height:56px;background:var(--pn-white);color:var(--pn-ink);font-family:var(--pn-font);font-size:18px;line-height:1.6;overflow-wrap:break-word}
.pn-page-design h1,.pn-page-design h2,.pn-page-design h3{margin:0;font-family:inherit;line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.pn-page-design h1{font-size:clamp(46px,6vw,96px);font-weight:700}
.pn-page-design h2{font-size:clamp(32px,4vw,64px);font-weight:600}
.pn-page-design h3{font-size:clamp(22px,2vw,32px);font-weight:600}
.pn-page-design p{margin:0 0 1.3em}
.pn-page-design p:last-child{margin-bottom:0}
.pn-page-design figure{margin:0}
.pn-page-design img{display:block;max-width:100%;height:auto}
.pn-page-design a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}
.pn-page-design a:hover{color:var(--pn-accent)}
.pn-page-design button{font:inherit;color:inherit;border-radius:0;cursor:pointer}
.pn-page-design button:disabled{cursor:default;opacity:.4}
.pn-page-design :focus-visible{outline:2px solid var(--pn-accent);outline-offset:5px}
.pn-page-design [id]{scroll-margin-top:calc(var(--pn-sticky-row-height,60px) + var(--pn-design-nav-height) + var(--pn-admin-offset,0px) + 24px)}
.pn-design-wrap{width:100%;max-width:1600px;padding-inline:var(--pn-design-gutter);margin-inline:auto}
.pn-design-jump{position:sticky;top:calc(var(--pn-sticky-row-height,60px) + var(--pn-admin-offset,0px) + 1px);z-index:15;display:flex;align-items:center;gap:clamp(20px,3vw,48px);min-height:var(--pn-design-nav-height);padding:0 var(--pn-design-gutter);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--pn-accent) var(--pn-snow);background:#fff;border-bottom:1px solid var(--pn-line)}
.pn-design-jump a{flex:none;display:inline-flex;align-items:center;min-height:var(--pn-design-nav-height);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.pn-design-jump a[aria-current]{color:var(--pn-accent);box-shadow:inset 0 -2px var(--pn-accent)}
.pn-design-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:14px 22px;background:var(--pn-accent);border:1px solid var(--pn-accent);color:#fff!important;font-size:14px;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .2s ease,border-color .2s ease}
.pn-design-button:hover{background:var(--pn-ink);border-color:var(--pn-ink)}
.pn-design-button svg{width:22px;height:22px;flex:none}
.pn-photo-request{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;min-height:280px;aspect-ratio:1;padding:clamp(22px,3vw,48px);background:#164c97;color:#fff}
.pn-photo-request>span{display:block;font-size:12px;font-weight:600;letter-spacing:.04em}
.pn-photo-request p,.pn-photo-request figcaption{max-width:46ch;font-size:clamp(17px,1.7vw,25px);line-height:1.4;font-weight:400;margin:0}
.pn-photo-request small{display:block;margin-top:14px;font-size:13px;line-height:1.5;color:#e8efff}
@media(max-width:650px){.pn-page-design{font-size:16px;--pn-design-nav-height:50px}.pn-design-jump a{font-size:12px}.pn-photo-request{min-height:230px}}
@media(prefers-reduced-motion:reduce){.pn-page-design{scroll-behavior:auto}.pn-design-button{transition:none}}

/* Shared foundations of the authored internal experiences and service pages. */

.pn-internal{--np-accent:#c52c30;--np-muted:#59605e;--np-line:#d9deda;--np-space:clamp(64px,8vw,128px);overflow-x:clip;background:#fff;color:#202321}
.pn-internal *{box-sizing:border-box}.pn-internal h1,.pn-internal h2,.pn-internal h3{font-weight:300}.pn-internal strong{font-weight:700}.pn-internal figure{margin:0}.pn-internal a{color:inherit}.pn-internal .np-kicker{display:block;margin-bottom:20px;font-size:12px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--np-accent)}
.pn-internal .np-link{display:inline-flex;align-items:center;gap:24px;min-height:46px;padding:8px 0;text-decoration:none;border-bottom:1px solid currentColor;font-size:15px;font-weight:600}.pn-internal .np-link svg{width:22px;height:22px;flex:none;transition:transform .25s}.pn-internal .np-link:hover svg{transform:translateX(5px)}
.pn-internal .np-crumb{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;line-height:1.5;margin-bottom:28px}.pn-internal .np-crumb a{text-decoration:none;border-bottom:1px solid currentColor}.pn-internal .np-crumb span{opacity:.75}
.pn-internal .np-hero{position:relative}.pn-internal .np-hero h1{font-family:"PN Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(64px,7.6vw,112px);line-height:.94;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}.pn-internal .np-lead{font-size:clamp(22px,2.2vw,34px);line-height:1.3;letter-spacing:-.025em;max-width:28ch}.pn-internal .np-body{padding-block:var(--np-space)}.pn-internal .np-heading{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:start}.pn-internal .np-heading>div:last-child{max-width:50ch}.pn-internal .np-heading p{color:var(--np-muted)}
.pn-internal .np-book{padding-block:clamp(50px,6vw,96px);background:#f1f3f2;border-top:1px solid var(--np-line)}.pn-internal .np-book h2{margin-bottom:24px;font-size:clamp(32px,3.5vw,54px)}.pn-internal .np-pending{max-width:56ch;color:var(--np-muted);font-size:16px}.pn-internal .np-footer{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-block:30px 44px}.pn-internal .np-footer .np-link{font-size:14px}.pn-internal .np-photo{overflow:hidden}.pn-internal .np-photo img{width:100%;height:100%;object-fit:cover}.pn-internal figcaption{font-size:12px;line-height:1.5;color:var(--np-muted);margin-top:10px}
@media(max-width:760px){.pn-internal .np-heading{grid-template-columns:1fr;gap:26px}.pn-internal .np-hero h1{font-size:clamp(52px,13vw,78px)}.pn-internal .np-footer{display:grid;gap:18px}.pn-internal .np-footer .np-link{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.pn-internal .np-link svg{transition:none}}

.pn-internal .np-hero h1 strong{font-weight:800}.pn-internal .np-heading h2{font-size:clamp(36px,4.2vw,68px);line-height:1.02;letter-spacing:-.035em}.pn-internal .np-book{background:var(--pn-snow)}.pn-internal .np-link:hover{color:var(--pn-accent)}
@media(min-width:1101px){.pn-site .pn-internal .pn-subheader[data-pn-subheader-layout="utility"]{grid-template-columns:max-content minmax(0,1fr);gap:32px}}
