/*
 * Pride in Place Gloucester
 * Original visual system with a confident, rounded overlay navigation and a
 * controlled editorial layout. Edit content in WordPress; do not edit layout
 * fields in a page builder.
 */
:root{--pip-ink:#111926;--pip-paper:#edf2f4;--pip-accent:#ff5a4f;--pip-leaf:#94c973;--pip-muted:#70808a;--pip-line:rgba(17,25,38,.16);--pip-radius:28px;--pip-shell:min(1360px,calc(100vw - 48px));--pip-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pip-paper);color:var(--pip-ink);font-family:var(--pip-font);font-size:16px;line-height:1.5}body.pip-menu-is-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto;object-fit:cover}.pip-shell{width:var(--pip-shell);margin-inline:auto}.pip-site-main{overflow:hidden}.pip-skip-link{position:fixed;z-index:9999;left:12px;top:-56px;padding:10px 15px;border-radius:10px;background:#fff;color:var(--pip-ink);transition:top .2s}.pip-skip-link:focus{top:12px}.pip-kicker{margin:0 0 16px;color:currentColor;font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.pip-section{padding-block:clamp(76px,11vw,170px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:750;letter-spacing:-.065em;line-height:.93}h1{font-size:clamp(55px,10vw,142px);max-width:1060px}h2{font-size:clamp(40px,6vw,86px);max-width:820px}h3{font-size:clamp(25px,2.7vw,40px)}.pip-prose{font-size:clamp(17px,1.35vw,21px);line-height:1.55}.pip-prose>*>:first-child{margin-top:0}.pip-prose a{text-decoration:underline;text-underline-offset:3px}.pip-button,.pip-header-cta{align-items:center;background:var(--pip-ink);border:1px solid var(--pip-ink);border-radius:999px;color:#fff;display:inline-flex;gap:22px;justify-content:space-between;min-height:52px;padding:7px 9px 7px 21px;font-size:14px;font-weight:750;line-height:1;text-decoration:none;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.pip-button:hover,.pip-header-cta:hover{transform:translateY(-2px);background:var(--pip-accent);border-color:var(--pip-accent)}.pip-button__arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--pip-ink);font-size:18px}.pip-button--ghost{background:transparent;border-color:currentColor;color:inherit}.pip-button--ghost .pip-button__arrow{background:var(--pip-ink);color:#fff}.pip-button--light{background:var(--pip-paper);border-color:var(--pip-paper);color:var(--pip-ink)}.pip-text-link{border-bottom:1px solid currentColor;display:inline-flex;gap:10px;align-items:center;padding:6px 0;font-size:14px;font-weight:800;transition:gap .2s}.pip-text-link:hover{gap:16px}.pip-site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 24px;pointer-events:none;transition:padding .25s}.pip-site-header--scrolled{padding-top:10px}.pip-header-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-inline:auto;width:min(1360px,100%);pointer-events:auto}.pip-wordmark{max-width:270px;color:var(--pip-ink);display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:800;line-height:1}.pip-wordmark img{max-width:205px;max-height:54px;width:auto}.pip-wordmark__main{letter-spacing:-.06em;font-size:23px}.pip-wordmark__sub{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.pip-header-actions{display:flex;gap:10px;align-items:center}.pip-header-cta{background:rgba(237,242,244,.94);border-color:rgba(237,242,244,.94);color:var(--pip-ink);padding-left:18px;backdrop-filter:blur(14px)}.pip-header-cta .pip-button__arrow{background:var(--pip-ink);color:#fff}.pip-menu-trigger{align-items:center;display:flex;gap:14px;background:var(--pip-ink);border:0;border-radius:999px;color:#fff;cursor:pointer;min-height:54px;padding:7px 9px 7px 17px;font:inherit;font-weight:750;font-size:14px;transition:transform .25s,background .25s}.pip-menu-trigger:hover{transform:translateY(-2px);background:var(--pip-accent)}.pip-menu-trigger__dots{display:flex;align-items:center;justify-content:center;gap:3px;width:37px;height:37px;background:rgba(255,255,255,.1);border-radius:50%}.pip-menu-trigger__dots i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor}.pip-menu-overlay{position:fixed;inset:0;z-index:1500;overflow:hidden;background:var(--pip-paper);visibility:hidden;pointer-events:none}.pip-menu-overlay[aria-hidden="false"]{visibility:visible;pointer-events:auto}.pip-menu-stage{position:absolute;inset:0;overflow:hidden;background:var(--pip-paper);opacity:0;transition:opacity .25s ease}.pip-menu-overlay[aria-hidden="false"] .pip-menu-stage{opacity:1}.pip-menu-stage__stripes{position:absolute;inset:-8%;background:repeating-linear-gradient(90deg,var(--pip-ink) 0 4.5vw,transparent 4.5vw 8.5vw);opacity:1;transform:rotate(-11deg) scale(1.2)}.pip-menu-stage__stripes:after{content:"";position:absolute;width:min(80vw,1020px);aspect-ratio:1;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);background:var(--pip-paper)}.pip-menu-stage__word{position:absolute;left:50%;top:49%;z-index:1;color:var(--pip-paper);font-size:clamp(185px,34vw,580px);font-weight:800;letter-spacing:-.13em;line-height:.72;transform:translate(-50%,-50%) rotate(-5deg);white-space:nowrap;mix-blend-mode:normal;opacity:.98}.pip-menu-orbit{position:absolute;z-index:3;left:clamp(-118px,-6vw,-24px);top:19%;width:clamp(245px,31vw,510px);aspect-ratio:1;margin:0;border-radius:50%;overflow:hidden;background:var(--pip-ink);box-shadow:0 30px 80px rgba(17,25,38,.26);transform:rotate(-13deg) scale(.72);opacity:0;transition:transform .8s cubic-bezier(.15,.86,.18,1),opacity .35s ease}.pip-menu-overlay[aria-hidden="false"] .pip-menu-orbit{opacity:1;transform:rotate(7deg) scale(1)}.pip-menu-orbit img{height:100%;object-fit:cover}.pip-menu-rail{position:absolute;z-index:6;top:clamp(10px,2vw,26px);left:clamp(10px,2vw,28px);right:clamp(10px,2vw,28px);display:flex;align-items:center;justify-content:space-between;gap:14px;opacity:0;transform:translateY(-16px);transition:opacity .22s ease .12s,transform .36s cubic-bezier(.18,.8,.22,1) .12s}.pip-menu-overlay[aria-hidden="false"] .pip-menu-rail{opacity:1;transform:translateY(0)}.pip-menu-chat,.pip-menu-rail__close{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;border:0;border-radius:999px;padding:7px 9px 7px 21px;font:inherit;font-size:14px;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;cursor:pointer}.pip-menu-chat{background:rgba(237,242,244,.97);color:var(--pip-ink);box-shadow:0 8px 28px rgba(17,25,38,.12)}.pip-menu-chat__icon{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#fff;border:1px solid rgba(17,25,38,.12)}.pip-menu-chat__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.pip-menu-rail__close{background:var(--pip-ink);color:#fff;min-width:151px}.pip-menu-rail__close .pip-menu-trigger__dots{width:39px;height:39px;background:rgba(255,255,255,.1)}.pip-menu-panel{position:absolute;z-index:5;left:50%;top:52%;width:min(510px,calc(100vw - 40px));min-height:clamp(425px,64vh,610px);padding:clamp(56px,6vw,78px) clamp(34px,5vw,65px) clamp(38px,4vw,54px);border-radius:31px;background:#dce4e8;color:var(--pip-ink);box-shadow:0 34px 90px rgba(17,25,38,.24);opacity:0;transform:translate(-50%,-50%) translateY(-72px) rotate(-8deg) scale(.82);transform-origin:50% 0;transition:opacity .26s ease,transform .42s cubic-bezier(.25,.77,.24,1)}.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);animation:pip-menu-swing-in .82s cubic-bezier(.18,.82,.22,1) both}.pip-overlay-nav{display:flex;min-height:100%;align-items:center}.pip-overlay-nav__list{width:100%;list-style:none;margin:0;padding:0}.pip-overlay-nav__list li{overflow:hidden}.pip-overlay-nav__list a{display:inline-block;padding:clamp(6px,1.05vw,10px) 0;font-size:clamp(48px,6.65vw,84px);font-weight:780;letter-spacing:-.09em;line-height:.93;transition:transform .28s cubic-bezier(.18,.8,.22,1),color .24s ease}.pip-overlay-nav__list a:hover,.pip-overlay-nav__list .current-menu-item>a,.pip-overlay-nav__list .current_page_item>a{color:rgba(17,25,38,.32);transform:translateX(9px)}.pip-menu-panel__note{position:absolute;left:clamp(34px,5vw,65px);right:clamp(34px,5vw,65px);bottom:clamp(24px,3vw,35px);display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(17,25,38,.14);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.pip-menu-panel__note span{font-weight:800}.pip-menu-panel__note strong{font-size:10px;letter-spacing:.02em;text-transform:none}.pip-menu-panel__note p{margin:0;flex:1 1 100%;font-size:11px;line-height:1.35;letter-spacing:0;text-transform:none}.pip-menu-panel__link{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:none;text-decoration:underline;text-underline-offset:4px}.pip-menu-panel__link .pip-button__arrow{display:none}@keyframes pip-menu-swing-in{0%{opacity:0;transform:translate(-50%,-50%) translateY(-108px) rotate(-10deg) scale(.78)}48%{opacity:1;transform:translate(-50%,-50%) translateY(11px) rotate(2.4deg) scale(1.015)}71%{transform:translate(-50%,-50%) translateY(-5px) rotate(-.9deg) scale(.995)}100%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}}.pip-hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;padding-top:130px;background:var(--pip-paper);isolation:isolate}.pip-hero__media,.pip-hero__overlay{position:absolute;inset:0;z-index:-2}.pip-hero__media img{width:100%;height:100%;object-position:var(--pip-hero-object-position,center)}.pip-hero__overlay{z-index:-1;background:linear-gradient(90deg,rgba(17,25,38,.82) 0%,rgba(17,25,38,.31) 57%,rgba(17,25,38,.1) 100%);opacity:var(--pip-hero-overlay-opacity,1)}.pip-hero:not(.pip-hero--has-media){background:radial-gradient(circle at 74% 35%,var(--pip-leaf),transparent 0 31%),var(--pip-paper)}.pip-hero__content{display:grid;grid-template-columns:1fr auto;gap:48px;padding-bottom:36px;color:var(--pip-ink)}.pip-hero--has-media .pip-hero__content{color:#fff}.pip-hero__lead{max-width:1060px}.pip-hero__lead .pip-kicker{margin-bottom:25px}.pip-hero__lead h1{margin-bottom:28px}.pip-hero__copy{max-width:550px;margin-bottom:28px;font-size:clamp(18px,1.6vw,24px);line-height:1.35}.pip-hero__actions{display:flex;flex-wrap:wrap;gap:11px}.pip-hero__note{align-self:end;max-width:180px;margin:0;font-size:11px;font-weight:650;line-height:1.4;text-align:right}.pip-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(350px,.8fr);align-items:center;gap:clamp(50px,9vw,150px)}.pip-intro__copy h2{margin-bottom:27px}.pip-intro__copy .pip-prose{max-width:600px}.pip-intro__copy .pip-text-link{margin-top:20px}.pip-intro__media{aspect-ratio:4/5;border-radius:var(--pip-radius);overflow:hidden;background:var(--pip-leaf)}.pip-intro__media img{height:100%}.pip-media-placeholder{display:grid;place-items:center;min-height:100%;padding:20px;background:linear-gradient(135deg,var(--pip-leaf),var(--pip-accent));color:var(--pip-ink);text-align:center;font-size:13px;font-weight:750}.pip-priorities{background:var(--pip-ink);color:#fff}.pip-section-head{display:flex;flex-direction:column;gap:0;margin-bottom:54px}.pip-section-head h2{margin:0}.pip-section-head--row{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:24px}.pip-section-head--small{margin-bottom:25px}.pip-section-head--small h2{font-size:clamp(32px,4vw,55px)}.pip-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pip-priority-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.85fr);min-height:360px;border:1px solid rgba(255,255,255,.17);border-radius:22px;overflow:hidden;background:#1d2835;transition:transform .35s ease,border-color .35s}.pip-priority-card:hover{transform:translateY(-6px);border-color:var(--pip-leaf)}.pip-priority-card__media{height:100%;background:#2a3440}.pip-priority-card__media img{height:100%}.pip-priority-card__body{display:flex;flex-direction:column;padding:25px}.pip-priority-card__body>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--pip-leaf)}.pip-priority-card__body h3{margin:36px 0 13px}.pip-priority-card__body p{margin-bottom:20px;font-size:14px;line-height:1.45}.pip-priority-card__body .pip-text-link{margin-top:auto;align-self:flex-start;color:#fff}.pip-empty-note{border:1px dashed currentColor;border-radius:15px;padding:18px;font-size:13px;opacity:.7}.pip-empty-note p{margin:0}.pip-statement{position:relative;padding-block:clamp(100px,14vw,230px);background:var(--pip-leaf);color:var(--pip-ink);overflow:hidden}.pip-statement--image{background-size:cover;background-position:center}.pip-statement__wash{position:absolute;inset:0;background:rgba(148,201,115,.85)}.pip-statement__inner{position:relative;max-width:1100px}.pip-statement__inner p{margin:0 0 34px;font-size:clamp(44px,7vw,104px);font-weight:750;letter-spacing:-.075em;line-height:.93}.pip-statement__inner span{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pip-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pip-project-card{border-radius:20px;background:#dce4e8;overflow:hidden;transition:transform .3s ease,box-shadow .3s}.pip-project-card:hover{transform:translateY(-6px);box-shadow:0 15px 28px rgba(17,25,38,.12)}.pip-project-card:nth-child(2n){background:var(--pip-leaf)}.pip-project-card:nth-child(3n){background:#ffd664}.pip-project-card__media{aspect-ratio:1/1.06;background:#c7d0d5;overflow:hidden}.pip-project-card__media img{height:100%;transition:transform .55s}.pip-project-card:hover .pip-project-card__media img{transform:scale(1.055)}.pip-project-card__body{position:relative;padding:19px 50px 20px 20px;min-height:130px}.pip-project-card__body span{display:block;margin-bottom:26px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pip-project-card__body h3{margin:0;font-size:clamp(25px,2.3vw,36px)}.pip-project-card__body b{position:absolute;right:18px;bottom:20px;font-size:21px}.pip-text-link--mobile{display:none}.pip-updates{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,8vw,128px);border-top:1px solid var(--pip-line)}.pip-story-list,.pip-event-list{border-top:1px solid var(--pip-line)}.pip-story-row{display:grid;grid-template-columns:86px minmax(85px,.3fr) minmax(0,1fr) 24px;align-items:center;gap:16px;border-bottom:1px solid var(--pip-line);padding:13px 0;transition:padding .25s}.pip-story-row:hover{padding-inline:8px}.pip-story-row>div{height:74px;border-radius:8px;background:#c7d0d5;overflow:hidden}.pip-story-row img{height:100%}.pip-story-row>span{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.pip-story-row strong{font-size:18px;line-height:1.15}.pip-story-row b,.pip-event-row b{font-size:18px}.pip-event-row{display:grid;grid-template-columns:70px minmax(0,1fr) 25px;gap:18px;align-items:center;border-bottom:1px solid var(--pip-line);padding:20px 0;transition:padding .25s}.pip-event-row:hover{padding-inline:8px}.pip-event-row__date{font-size:14px;font-weight:850;line-height:1;text-transform:uppercase}.pip-event-row strong{display:block;margin-bottom:5px;font-size:20px;letter-spacing:-.035em;line-height:1.1}.pip-event-row small{display:block;color:var(--pip-muted);font-size:12px;line-height:1.35}.pip-final-cta{background:var(--pip-accent);color:var(--pip-ink)}.pip-final-cta__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(300px,.78fr);gap:clamp(50px,10vw,140px);align-items:center}.pip-final-cta__copy h2{margin-bottom:25px}.pip-final-cta__copy>p:not(.pip-kicker){max-width:550px;margin-bottom:30px;font-size:19px}.pip-final-cta__media{height:530px;border-radius:var(--pip-radius);overflow:hidden;background:var(--pip-leaf)}.pip-final-cta__media img{height:100%}.pip-site-footer{background:var(--pip-ink);color:#fff}.pip-footer-cta{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-block:clamp(66px,9vw,125px);border-bottom:1px solid rgba(255,255,255,.18)}.pip-footer-cta .pip-kicker{color:var(--pip-leaf)}.pip-footer-cta h2{max-width:750px;margin:0}.pip-footer-cta__copy{max-width:500px;margin:20px 0 0;color:rgba(255,255,255,.74)}.pip-footer-main{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .7fr;gap:30px;padding-block:50px}.pip-footer-brand>a{font-size:28px;font-weight:800;letter-spacing:-.07em}.pip-footer-brand p{margin-top:7px;color:rgba(255,255,255,.6);font-size:12px}.pip-footer-label{margin-bottom:15px;color:var(--pip-leaf);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.pip-footer-menu,.pip-footer-social ul{list-style:none;margin:0;padding:0}.pip-footer-menu li,.pip-footer-social li{margin-bottom:8px}.pip-footer-menu a,.pip-footer-social a,.pip-footer-contact a{font-size:14px;font-weight:650}.pip-footer-menu a:hover,.pip-footer-social a:hover,.pip-footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}.pip-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.pip-footer-contact p{margin:4px 0 0;color:rgba(255,255,255,.65);font-size:13px}.pip-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:18px;border-top:1px solid rgba(255,255,255,.18);font-size:11px;color:rgba(255,255,255,.65)}.pip-footer-bottom a{color:#fff}.pip-page-hero{position:relative;display:flex;align-items:end;min-height:620px;padding-top:160px;padding-bottom:70px;background:var(--pip-paper);overflow:hidden}.pip-page-hero--media{color:#fff}.pip-page-hero__media,.pip-page-hero__wash{position:absolute;inset:0;z-index:-2}.pip-page-hero__media img{height:100%}.pip-page-hero__wash{z-index:-1;background:linear-gradient(90deg,rgba(17,25,38,.85),rgba(17,25,38,.2))}.pip-page-hero__content>p:not(.pip-kicker){max-width:600px;margin-bottom:28px;font-size:20px}.pip-page-editor{padding-block:80px;max-width:min(840px,calc(100vw - 48px))}.pip-content-panel{padding-block:clamp(65px,10vw,140px)}.pip-content-panel--dark{background:var(--pip-ink);color:#fff}.pip-content-panel--accent{background:var(--pip-leaf)}.pip-content-panel__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(350px,.8fr);align-items:center;gap:clamp(44px,10vw,150px)}.pip-content-panel__grid--left .pip-content-panel__media{order:-1}.pip-content-panel__copy h2{margin-bottom:24px}.pip-content-panel__copy .pip-text-link{margin-top:17px}.pip-content-panel__media{aspect-ratio:4/5;border-radius:var(--pip-radius);overflow:hidden;background:#c7d0d5}.pip-content-panel__media img{height:100%}.pip-record-hero{display:grid;grid-template-columns:minmax(0,.84fr) minmax(450px,1.16fr);min-height:760px;padding-top:120px;background:var(--pip-ink);color:#fff}.pip-record-hero__content{align-self:center;padding-block:90px}.pip-record-hero__content h1{margin-bottom:25px}.pip-record-hero__content>p:not(.pip-kicker){max-width:580px;margin-bottom:30px;font-size:20px}.pip-record-hero__media{min-height:100%;overflow:hidden}.pip-record-hero__media img{height:100%}.pip-meta-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.pip-meta-list li{border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:7px 12px;font-size:12px}.pip-highlights{padding-block:56px}.pip-highlights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.pip-highlights__grid>div{padding:20px;border:1px solid var(--pip-line);border-radius:15px}.pip-highlights__grid strong{display:block;margin-bottom:5px;font-size:clamp(28px,3.5vw,50px);letter-spacing:-.07em;line-height:1}.pip-highlights__grid span{font-size:12px;color:var(--pip-muted)}.pip-record-content{padding-block:clamp(70px,9vw,130px);max-width:min(820px,calc(100vw - 48px))}.pip-record-content .pip-button{margin-top:24px}.pip-gallery{padding-bottom:clamp(70px,9vw,130px)}.pip-gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.pip-gallery figure{grid-column:span 5;margin:0;border-radius:15px;overflow:hidden;min-height:260px}.pip-gallery figure:nth-child(3n+2){grid-column:span 7}.pip-gallery figure img{height:100%}.pip-story-single__hero{padding-top:180px;padding-bottom:64px;max-width:min(1050px,calc(100vw - 48px))}.pip-story-single__hero h1{max-width:980px;margin-bottom:24px}.pip-story-single__hero>p:not(.pip-kicker){max-width:680px;font-size:22px}.pip-story-single__meta{display:flex;gap:15px;margin-top:24px;color:var(--pip-muted);font-size:12px}.pip-story-single__image{margin-top:55px;border-radius:var(--pip-radius);overflow:hidden;aspect-ratio:1.6/1}.pip-story-single__image img{height:100%}.pip-event-single{padding-top:150px;padding-bottom:110px}.pip-event-single__hero{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(50px,9vw,130px);align-items:center}.pip-event-single__hero h1{margin-bottom:25px}.pip-event-single__hero>div>p:not(.pip-kicker){font-size:20px}.pip-event-single__hero>div:last-child{aspect-ratio:4/5;border-radius:var(--pip-radius);overflow:hidden;background:var(--pip-leaf)}.pip-event-single__hero img{height:100%}.pip-event-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid var(--pip-line);padding-top:20px;margin:28px 0}.pip-event-details div{display:flex;flex-direction:column;gap:4px}.pip-event-details dt{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pip-event-details dd{margin:0;font-size:15px}.pip-resource-single{padding-top:180px;padding-bottom:110px}.pip-resource-single__hero{max-width:800px}.pip-resource-single__hero h1{margin-bottom:23px}.pip-resource-single__hero>p:not(.pip-kicker){font-size:21px;max-width:650px}.pip-archive-hero{padding-top:190px;padding-bottom:70px}.pip-archive-hero h1{margin-bottom:22px}.pip-archive-hero>p:not(.pip-kicker){max-width:630px;font-size:20px}.pip-archive-grid,.pip-story-archive,.pip-event-archive,.pip-resource-archive{padding-bottom:110px}.pip-story-archive{border-top:1px solid var(--pip-line)}.pip-story-archive__row{display:grid;grid-template-columns:230px 110px minmax(240px,.8fr) minmax(170px,.6fr) 30px;align-items:center;gap:25px;padding:19px 0;border-bottom:1px solid var(--pip-line)}.pip-story-archive__row>div{height:140px;border-radius:14px;overflow:hidden;background:#c7d0d5}.pip-story-archive__row>div img{height:100%}.pip-story-archive__row>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pip-story-archive__row h2{margin:0;font-size:29px}.pip-story-archive__row p{margin:0;color:var(--pip-muted);font-size:14px}.pip-event-row--archive{max-width:850px}.pip-resource-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pip-resource-card{position:relative;min-height:250px;padding:24px;border-radius:18px;background:#dce4e8;transition:transform .25s,background .25s}.pip-resource-card:hover{transform:translateY(-5px);background:var(--pip-leaf)}.pip-resource-card span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pip-resource-card h2{margin:60px 0 12px;font-size:32px}.pip-resource-card p{font-size:13px;color:rgba(17,25,38,.75)}.pip-resource-card b{position:absolute;right:22px;bottom:20px;font-size:20px}.pip-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1)}.pip-reveal--visible{opacity:1;transform:none}
@media (max-width:1000px){.pip-menu-panel{width:min(760px,calc(100vw - 26px))}.pip-menu-panel__body{grid-template-columns:1fr;overflow:auto}.pip-menu-feature{display:none}.pip-priority-card{grid-template-columns:1fr;min-height:420px}.pip-priority-card__media{height:210px}.pip-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pip-footer-main{grid-template-columns:1.3fr 1fr 1fr}.pip-footer-social{grid-column:2}.pip-record-hero{grid-template-columns:1fr;min-height:unset}.pip-record-hero__content{padding-top:100px;padding-bottom:60px}.pip-record-hero__media{aspect-ratio:1.4/1}.pip-story-archive__row{grid-template-columns:170px 90px 1fr 25px}.pip-story-archive__row p{display:none}.pip-resource-archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){:root{--pip-shell:min(100vw - 32px,1360px);--pip-radius:20px}.pip-site-header{padding:10px 12px}.pip-site-header--scrolled{padding-top:7px}.pip-wordmark{max-width:180px}.pip-wordmark__main{font-size:19px}.pip-wordmark__sub{font-size:7px}.pip-header-cta{display:none}.pip-menu-trigger{min-height:47px;padding-left:14px;gap:10px;font-size:12px}.pip-menu-trigger__dots{width:31px;height:31px}.pip-menu-panel{height:calc(100vh - 20px);margin:10px auto;border-radius:23px}.pip-menu-panel__top{padding:19px}.pip-menu-panel__top>span{font-size:8px}.pip-menu-close{font-size:10px}.pip-menu-close span:last-child{width:29px;height:29px;font-size:22px}.pip-menu-panel__body{height:calc(100% - 70px);padding:2px 20px 26px}.pip-overlay-nav{align-self:start;padding-top:4vh}.pip-overlay-nav__list a{font-size:clamp(42px,13vw,70px);padding-block:11px}.pip-hero{min-height:760px;padding-top:110px}.pip-hero__overlay{background:linear-gradient(0deg,rgba(17,25,38,.88) 0%,rgba(17,25,38,.27) 73%,rgba(17,25,38,.2) 100%)}.pip-hero__content{display:block;padding-bottom:26px}.pip-hero__lead h1{margin-bottom:20px;font-size:clamp(55px,16.5vw,88px)}.pip-hero__copy{font-size:18px}.pip-hero__note{max-width:none;margin-top:44px;text-align:left}.pip-intro,.pip-final-cta__grid,.pip-content-panel__grid,.pip-event-single__hero{grid-template-columns:1fr;gap:36px}.pip-intro__media,.pip-content-panel__media{aspect-ratio:1.15/1}.pip-content-panel__grid--left .pip-content-panel__media{order:0}.pip-section{padding-block:76px}.pip-priority-grid{grid-template-columns:1fr}.pip-priority-card{grid-template-columns:1fr minmax(0,1fr);min-height:280px}.pip-priority-card__media{height:auto}.pip-priority-card__body{padding:20px}.pip-priority-card__body h3{margin-top:31px}.pip-section-head--row{align-items:start;display:block}.pip-text-link--desktop{display:none}.pip-text-link--mobile{display:inline-flex;margin-top:24px}.pip-project-grid{grid-template-columns:1fr}.pip-project-card{display:grid;grid-template-columns:1fr 1fr}.pip-project-card__media{aspect-ratio:auto}.pip-project-card__body{min-height:0;padding:18px}.pip-project-card__body span{margin-bottom:20px}.pip-project-card__body b{right:18px;bottom:17px}.pip-updates{grid-template-columns:1fr;gap:66px}.pip-story-row{grid-template-columns:72px minmax(0,1fr) 20px}.pip-story-row>span{display:none}.pip-story-row>div{height:64px}.pip-event-row{grid-template-columns:58px minmax(0,1fr) 20px}.pip-final-cta__media{height:350px}.pip-footer-cta{display:block}.pip-footer-cta>div:last-child{margin-top:28px}.pip-footer-main{grid-template-columns:1fr 1fr;gap:35px;padding-block:38px}.pip-footer-brand{grid-column:span 2}.pip-footer-social{grid-column:auto}.pip-footer-bottom{flex-direction:column}.pip-page-hero{min-height:600px;padding-top:140px;padding-bottom:50px}.pip-page-hero__content>p:not(.pip-kicker),.pip-archive-hero>p:not(.pip-kicker){font-size:18px}.pip-page-editor{padding-block:56px}.pip-record-hero__content{padding-top:120px;padding-bottom:48px}.pip-record-hero__media{aspect-ratio:1/1}.pip-gallery__grid{display:block}.pip-gallery figure{height:320px;margin-bottom:12px}.pip-story-single__hero{padding-top:135px;padding-bottom:48px}.pip-story-single__image{margin-top:38px;aspect-ratio:1/1}.pip-event-single{padding-top:120px}.pip-event-details{grid-template-columns:1fr}.pip-resource-single{padding-top:135px}.pip-archive-hero{padding-top:135px;padding-bottom:48px}.pip-story-archive__row{grid-template-columns:90px minmax(0,1fr) 20px;gap:13px;padding-block:12px}.pip-story-archive__row>div{height:78px;border-radius:9px}.pip-story-archive__row>span{display:none}.pip-story-archive__row h2{font-size:21px}.pip-resource-archive{grid-template-columns:1fr}.pip-resource-card{min-height:210px}.pip-resource-card h2{margin-top:38px}.pip-reveal{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}.pip-reveal{opacity:1;transform:none}}

@media (max-width:720px){.pip-menu-stage__stripes{inset:-25%;background:repeating-linear-gradient(90deg,var(--pip-ink) 0 11vw,transparent 11vw 19vw);transform:rotate(-10deg) scale(1.35)}.pip-menu-stage__word{top:47%;font-size:clamp(138px,40vw,260px)}.pip-menu-orbit{left:-91px;top:16%;width:min(69vw,315px)}.pip-menu-rail{top:10px;left:10px;right:10px}.pip-menu-chat,.pip-menu-rail__close{min-height:48px;padding:6px 8px 6px 15px;font-size:10px;gap:9px}.pip-menu-chat__icon,.pip-menu-rail__close .pip-menu-trigger__dots{width:34px;height:34px}.pip-menu-rail__close{min-width:119px}.pip-menu-panel{top:53%;width:calc(100vw - 30px);min-height:min(510px,68vh);padding:clamp(45px,12vw,64px) 33px 34px;border-radius:25px}.pip-overlay-nav__list a{font-size:clamp(45px,13.8vw,67px);padding:7px 0}.pip-menu-panel__note{left:33px;right:33px;bottom:24px;font-size:9px}.pip-menu-panel__note strong{font-size:9px}}
@media (prefers-reduced-motion:reduce){.pip-menu-panel,.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel,.pip-menu-orbit,.pip-menu-rail,.pip-menu-stage{animation:none!important;transition:none!important}.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{transform:translate(-50%,-50%)!important}}

/* --------------------------------------------------------------------------
   v1.2 — shared page rhythm and layout stability
   -------------------------------------------------------------------------- */
:root{
  --pip-content-max:1360px;
  --pip-shell-outer:1408px; /* content max + 24px breathing room either side */
  --pip-gutter:24px;
  --pip-section-space:clamp(76px,8vw,132px);
}

html{
  scrollbar-gutter:stable;
}

html.pip-menu-is-open,
body.pip-menu-is-open{
  overflow:hidden;
}

/* Every full-width section now uses the same, safe inner container. Using
   100% rather than 100vw is important: grid children can no longer become
   viewport-wide and overflow into neighbouring columns. */
.pip-shell{
  width:100%;
  max-width:var(--pip-shell-outer);
  margin-inline:auto;
  padding-inline:var(--pip-gutter);
}

.pip-site-main{
  min-width:0;
  overflow:clip;
}

.pip-site-header{
  padding:18px 0;
}

.pip-header-shell{
  width:100%;
  max-width:var(--pip-shell-outer);
  margin-inline:auto;
  padding-inline:var(--pip-gutter);
}

.pip-section,
.pip-content-panel{
  padding-block:var(--pip-section-space);
}

.pip-page-editor{
  width:100%;
  max-width:888px;
  padding-block:var(--pip-section-space);
}

.pip-record-content.pip-shell{
  width:100%;
  max-width:868px;
  padding-block:var(--pip-section-space);
}

.pip-gallery{
  padding-bottom:var(--pip-section-space);
}

.pip-highlights{
  padding-top:clamp(36px,5vw,72px);
}

.pip-archive-hero{
  padding-top:clamp(160px,14vw,210px);
  padding-bottom:clamp(56px,6vw,88px);
}

/* Split project hero: both panels now sit inside the same site shell. This
   prevents the heading from getting underneath the image at desktop sizes. */
.pip-record-hero{
  display:block;
  min-height:0;
  padding-block:clamp(122px,10vw,164px) clamp(64px,7vw,112px);
  background:var(--pip-ink);
  color:#fff;
}

.pip-record-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
  gap:clamp(34px,5vw,88px);
  min-height:min(680px,calc(100svh - 180px));
}

.pip-record-hero__content{
  width:100%;
  max-width:610px;
  min-width:0;
  padding:0;
}

.pip-record-hero__content h1{
  max-width:100%;
  margin-bottom:25px;
  font-size:clamp(54px,5.6vw,96px);
  overflow-wrap:anywhere;
}

.pip-record-hero__content > p:not(.pip-kicker){
  max-width:560px;
  margin-bottom:30px;
  font-size:clamp(18px,1.35vw,21px);
}

.pip-record-hero__media{
  min-width:0;
  min-height:520px;
  height:100%;
  overflow:hidden;
  border-radius:var(--pip-radius);
}

.pip-record-hero__media img{
  width:100%;
  height:100%;
}

/* Protect any long editor heading or URL from creating a horizontal page
   scroll bar. */
.pip-page-hero__content,
.pip-content-panel__copy,
.pip-event-single__hero > div,
.pip-resource-single__hero,
.pip-story-single__hero,
.pip-archive-hero,
.pip-prose{
  min-width:0;
}

.pip-page-hero h1,
.pip-content-panel h2,
.pip-event-single h1,
.pip-resource-single h1,
.pip-story-single h1,
.pip-archive-hero h1{
  overflow-wrap:anywhere;
}

@media (max-width:1000px){
  .pip-record-hero{
    padding-block:120px 64px;
  }

  .pip-record-hero__inner{
    grid-template-columns:1fr;
    min-height:0;
    gap:38px;
  }

  .pip-record-hero__content{
    max-width:760px;
  }

  .pip-record-hero__media{
    min-height:0;
    height:auto;
    aspect-ratio:1.35 / 1;
  }
}

@media (max-width:720px){
  :root{
    --pip-gutter:16px;
    --pip-shell-outer:100%;
    --pip-section-space:76px;
  }

  .pip-site-header{
    padding:10px 0;
  }

  .pip-shell,
  .pip-header-shell{
    padding-inline:var(--pip-gutter);
  }

  .pip-page-editor{
    max-width:100%;
  }

  .pip-record-content.pip-shell{
    max-width:100%;
  }

  .pip-record-hero{
    padding-block:112px 48px;
  }

  .pip-record-hero__inner{
    gap:30px;
  }

  .pip-record-hero__content h1{
    font-size:clamp(52px,14vw,74px);
  }

  .pip-record-hero__media{
    aspect-ratio:1 / 1;
    border-radius:20px;
  }
}



/* --------------------------------------------------------------------------
   v1.3 — right-hand overlay menu
   The navigation is intentionally anchored to the right side of the screen,
   matching the supplied interaction reference. The artwork stays in the
   background; the menu itself is never centred over the reading area.
   -------------------------------------------------------------------------- */
.pip-menu-overlay{
  background:var(--pip-paper);
}

/* Keep the branded stage, but push it into the background so the menu reads
   as a deliberate floating object rather than a large object in the middle
   of the page. */
.pip-menu-stage__stripes{
  inset:-12%;
  opacity:.92;
  transform:rotate(-10deg) scale(1.18);
}

.pip-menu-stage__stripes:after{
  width:min(72vw,980px);
  left:32%;
  top:54%;
}

.pip-menu-stage__word{
  left:30%;
  top:51%;
  font-size:clamp(150px,27vw,480px);
  opacity:.84;
}

.pip-menu-orbit{
  left:clamp(-155px,-8vw,-42px);
  top:25%;
  width:clamp(210px,26vw,430px);
  box-shadow:0 26px 65px rgba(17,25,38,.22);
}

/* The compact action rail now occupies the top-right, directly above the
   navigation card. */
.pip-menu-rail{
  left:auto;
  right:clamp(16px,3vw,48px);
  top:clamp(16px,3vw,34px);
  justify-content:flex-end;
}

.pip-menu-chat,
.pip-menu-rail__close{
  min-height:54px;
}

/* Right-side menu card, attached to the action rail. The transform origin is
   above its upper-right corner so its animation behaves like a suspended card
   settling into place, rather than scaling out of the centre of the screen. */
.pip-menu-panel{
  left:auto;
  right:clamp(16px,3vw,48px);
  top:clamp(91px,10vw,126px);
  width:min(500px,calc(100vw - 32px));
  min-height:clamp(390px,52vh,520px);
  padding:clamp(42px,4.5vw,62px) clamp(30px,3.8vw,52px) clamp(34px,3.5vw,48px);
  border-radius:28px;
  transform:translate3d(76px,-28px,0) rotate(9deg) scale(.91);
  transform-origin:calc(100% - 54px) -64px;
  transition:opacity .18s ease,transform .36s cubic-bezier(.2,.8,.22,1);
}

.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
  transform:translate3d(0,0,0) rotate(0) scale(1);
  animation:pip-menu-swing-from-right .78s cubic-bezier(.16,.85,.2,1) both;
}

@keyframes pip-menu-swing-from-right{
  0%{
    opacity:0;
    transform:translate3d(88px,-42px,0) rotate(11deg) scale(.88);
  }
  46%{
    opacity:1;
    transform:translate3d(-10px,5px,0) rotate(-2deg) scale(1.012);
  }
  68%{
    transform:translate3d(4px,-2px,0) rotate(.7deg) scale(.998);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) rotate(0) scale(1);
  }
}

.pip-overlay-nav{
  align-items:flex-start;
}

.pip-overlay-nav__list{
  display:grid;
  gap:7px;
}

.pip-overlay-nav__list li{
  overflow:visible;
}

.pip-overlay-nav__list a{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-height:66px;
  padding:9px 18px;
  border-radius:15px;
  color:var(--pip-ink);
  font-size:clamp(42px,4.5vw,67px);
  letter-spacing:-.085em;
  line-height:.94;
  transition:padding .24s cubic-bezier(.18,.8,.22,1),background .22s ease,color .22s ease,transform .22s ease;
}

.pip-overlay-nav__list a::before{
  content:'→';
  position:absolute;
  left:18px;
  top:50%;
  font-size:.62em;
  font-weight:500;
  line-height:1;
  opacity:0;
  transform:translate(-12px,-50%);
  transition:opacity .18s ease,transform .24s cubic-bezier(.18,.8,.22,1);
}

.pip-overlay-nav__list a:hover,
.pip-overlay-nav__list a:focus-visible{
  padding-left:68px;
  background:rgba(255,255,255,.72);
  color:var(--pip-ink);
  transform:none;
  outline:none;
}

.pip-overlay-nav__list a:hover::before,
.pip-overlay-nav__list a:focus-visible::before{
  opacity:1;
  transform:translate(0,-50%);
}

/* The current page remains quietly muted, as in the supplied reference;
   its hover/focus treatment still works, which keeps the menu clear for
   keyboard and touch users. */
.pip-overlay-nav__list .current-menu-item>a,
.pip-overlay-nav__list .current_page_item>a{
  color:rgba(17,25,38,.30);
  transform:none;
}

.pip-overlay-nav__list .current-menu-item>a:hover,
.pip-overlay-nav__list .current-menu-item>a:focus-visible,
.pip-overlay-nav__list .current_page_item>a:hover,
.pip-overlay-nav__list .current_page_item>a:focus-visible{
  color:var(--pip-ink);
}

/* The optional note is kept compact and only uses the spare space at the
   bottom of the side card. */
.pip-menu-panel__note{
  left:clamp(30px,3.8vw,52px);
  right:clamp(30px,3.8vw,52px);
  bottom:clamp(22px,2.6vw,32px);
}

@media (max-width:720px){
  .pip-menu-stage__stripes{
    inset:-24%;
    transform:rotate(-10deg) scale(1.32);
  }

  .pip-menu-stage__stripes:after{
    width:125vw;
    left:29%;
    top:56%;
  }

  .pip-menu-stage__word{
    left:29%;
    top:49%;
    font-size:clamp(122px,37vw,220px);
  }

  .pip-menu-orbit{
    left:-102px;
    top:23%;
    width:min(64vw,300px);
  }

  .pip-menu-rail{
    right:12px;
    top:12px;
    gap:8px;
  }

  .pip-menu-chat,
  .pip-menu-rail__close{
    min-height:48px;
  }

  .pip-menu-panel{
    right:12px;
    top:70px;
    width:calc(100vw - 24px);
    min-height:0;
    height:min(480px,calc(100svh - 92px));
    padding:clamp(37px,10vw,54px) 24px 28px;
    border-radius:23px;
    transform-origin:calc(100% - 34px) -48px;
  }

  .pip-overlay-nav__list{
    gap:5px;
  }

  .pip-overlay-nav__list a{
    min-height:55px;
    padding:7px 13px;
    border-radius:13px;
    font-size:clamp(40px,12.5vw,60px);
  }

  .pip-overlay-nav__list a:hover,
  .pip-overlay-nav__list a:focus-visible{
    padding-left:55px;
  }

  .pip-overlay-nav__list a::before{
    left:14px;
  }

  .pip-menu-panel__note{
    left:24px;
    right:24px;
    bottom:19px;
  }
}

@media (prefers-reduced-motion:reduce){
  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
    animation:none!important;
    transform:translate3d(0,0,0)!important;
  }
}

/* --------------------------------------------------------------------------
   v1.4 — clean, anchored side menu
   The decorative stage has been removed entirely. The navigation now opens
   against a quiet scrim, and its Close control is measured from the original
   trigger so both buttons occupy the same position on screen.
   -------------------------------------------------------------------------- */
.pip-menu-overlay{
  --pip-menu-trigger-top:18px;
  --pip-menu-trigger-right:24px;
  --pip-menu-trigger-height:54px;
  background:transparent;
}

.pip-menu-stage{
  background:rgba(12,19,30,.72);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}

/* No oversized lettering, stripes or orbit artwork behind the menu. */
.pip-menu-stage__stripes,
.pip-menu-stage__word,
.pip-menu-orbit{
  display:none!important;
}

/* Keep only one control in the overlay. It is geometrically anchored to the
   original Menu trigger by CSS variables written by site.js. */
.pip-menu-chat{
  display:none!important;
}

.pip-menu-rail{
  top:var(--pip-menu-trigger-top)!important;
  right:var(--pip-menu-trigger-right)!important;
  left:auto!important;
  gap:0;
  justify-content:flex-end;
}

.pip-menu-rail__close{
  min-width:0;
  min-height:var(--pip-menu-trigger-height);
  padding:7px 9px 7px 17px;
  gap:14px;
  background:var(--pip-ink);
  color:#fff;
  border-radius:999px;
}

/* The card hangs directly beneath the action, creating the requested swing
   from the top-right without moving page content or introducing a centre
   screen animation. */
.pip-menu-panel{
  left:auto!important;
  right:var(--pip-menu-trigger-right)!important;
  top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 16px)!important;
  width:min(470px,calc(100vw - 32px));
  min-height:clamp(390px,52vh,520px);
  padding:clamp(42px,4.5vw,58px) clamp(30px,3.8vw,48px) clamp(34px,3.5vw,46px);
  border-radius:28px;
  background:#dce4e8;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  transform:translate3d(64px,-34px,0) rotate(8deg) scale(.92);
  transform-origin:calc(100% - 30px) -62px;
}

.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
  animation:pip-menu-swing-from-trigger .7s cubic-bezier(.16,.85,.2,1) both;
}

@keyframes pip-menu-swing-from-trigger{
  0%{opacity:0;transform:translate3d(64px,-34px,0) rotate(8deg) scale(.92)}
  52%{opacity:1;transform:translate3d(-7px,4px,0) rotate(-1.45deg) scale(1.008)}
  73%{transform:translate3d(3px,-1px,0) rotate(.45deg) scale(.998)}
  100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
}

@media (max-width:720px){
  .pip-menu-panel{
    width:calc(100vw - 24px);
    top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 12px)!important;
    min-height:0;
    height:min(480px,calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 24px));
    padding:38px 24px 28px;
    border-radius:23px;
    transform-origin:calc(100% - 28px) -50px;
  }
}

@media (prefers-reduced-motion:reduce){
  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
    animation:none!important;
    transform:translate3d(0,0,0)!important;
  }
}

/* --------------------------------------------------------------------------
   v1.6 — WordPress Custom Logo sizing
   WordPress outputs .custom-logo-link > img.custom-logo. Keep the uploaded
   file contained in the header rather than letting a large PNG define layout.
   -------------------------------------------------------------------------- */
.pip-site-header .pip-wordmark{
  display:flex;
  align-items:center;
  flex:0 1 240px;
  min-width:0;
  max-width:240px;
}

.pip-site-header .pip-wordmark__text,
.pip-site-header .pip-wordmark .custom-logo-link{
  display:flex;
  align-items:center;
  width:220px;
  max-width:100%;
  height:64px;
}

.pip-site-header .pip-wordmark .custom-logo{
  display:block !important;
  width:auto !important;
  max-width:220px !important;
  height:auto !important;
  max-height:64px !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.pip-site-header .pip-wordmark__text{
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
}

@media (max-width:720px){
  .pip-site-header .pip-wordmark{flex-basis:170px;max-width:170px;}
  .pip-site-header .pip-wordmark__text,
  .pip-site-header .pip-wordmark .custom-logo-link{width:160px;height:46px;}
  .pip-site-header .pip-wordmark .custom-logo{max-width:160px !important;max-height:46px !important;}
}


/* --------------------------------------------------------------------------
   v1.7 — logo-led visual refinement
   A slightly more civic / heritage palette, restrained title scale and
   squarer editorial cards. Buttons stay pill-shaped deliberately.
   -------------------------------------------------------------------------- */
:root {
  --pip-radius: 16px;
  --pip-brand-sky: #A9C8D9;
  --pip-brand-brick: #B85E45;
  --pip-brand-stone: #E5EDF0;
}

/* Keep the site confident, but let the imagery and new logo breathe. */
h1 {
  font-size: clamp(52px, 8.15vw, 120px);
  max-width: 980px;
}

h2 {
  font-size: clamp(38px, 5.15vw, 76px);
  max-width: 780px;
}

h3 {
  font-size: clamp(23px, 2.25vw, 34px);
}

.pip-hero__lead {
  max-width: 980px;
}

.pip-hero__lead h1 {
  font-size: clamp(52px, 8.15vw, 120px);
}

.pip-statement__inner p {
  font-size: clamp(42px, 5.95vw, 90px);
}

.pip-record-hero__content h1 {
  font-size: clamp(50px, 5vw, 84px);
}

.pip-project-card__body h3 {
  font-size: clamp(23px, 2vw, 32px);
}

.pip-section-head--small h2 {
  font-size: clamp(30px, 3.5vw, 48px);
}

/* Grow the Custom Logo as a contained, intentional header mark. The fixed
   logo box prevents a large PNG from changing header layout. */
.pip-site-header .pip-wordmark {
  flex-basis: 268px;
  max-width: 268px;
}

.pip-site-header .pip-wordmark__text,
.pip-site-header .pip-wordmark .custom-logo-link {
  width: 252px;
  max-width: 100%;
  height: 72px;
}

.pip-site-header .pip-wordmark .custom-logo {
  width: 252px !important;
  max-width: 100% !important;
  height: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .16));
}

/* The brand has an architectural / civic mark, so media and editorial cards
   use a smaller, more structural radius. Keep pills for actions and status. */
.pip-intro__media,
.pip-final-cta__media,
.pip-content-panel__media,
.pip-record-hero__media,
.pip-story-single__image,
.pip-event-single__hero > div:last-child {
  border-radius: var(--pip-radius);
}

.pip-priority-card,
.pip-project-card,
.pip-resource-card {
  border-radius: 14px;
}

.pip-highlights__grid > div,
.pip-gallery figure,
.pip-story-archive__row > div,
.pip-empty-note {
  border-radius: 12px;
}

/* The navigation remains friendly, but no longer looks overly inflated. */
.pip-menu-panel {
  border-radius: 20px;
}

.pip-overlay-nav__list a {
  border-radius: 11px;
}

/* Pull the photographic washes and colour-led sections toward the new
   Gloucester civic palette: navy, soft sky and warm brick. */
.pip-hero__overlay {
  background: linear-gradient(90deg, rgba(16, 43, 67, .84) 0%, rgba(16, 43, 67, .34) 57%, rgba(16, 43, 67, .10) 100%);
}

.pip-page-hero__wash {
  background: linear-gradient(90deg, rgba(16, 43, 67, .86), rgba(16, 43, 67, .20));
}

.pip-project-card:nth-child(2n) {
  background: var(--pip-brand-sky);
}

.pip-project-card:nth-child(3n) {
  background: #D9B59A;
}

@media (max-width: 720px) {
  :root {
    --pip-radius: 14px;
  }

  .pip-site-header .pip-wordmark {
    flex-basis: 196px;
    max-width: 196px;
  }

  .pip-site-header .pip-wordmark__text,
  .pip-site-header .pip-wordmark .custom-logo-link {
    width: 188px;
    height: 54px;
  }

  .pip-site-header .pip-wordmark .custom-logo {
    width: 188px !important;
    height: 54px !important;
    max-height: 54px !important;
  }

  .pip-hero__lead h1 {
    font-size: clamp(50px, 14.3vw, 78px);
  }

  .pip-record-hero__content h1 {
    font-size: clamp(48px, 12.8vw, 68px);
  }

  .pip-menu-panel {
    border-radius: 17px;
  }
}

/* --------------------------------------------------------------------------
   v1.8 — quieter trigger and two-column community menu
   The menu stays tethered to the top-right control, but the navigation is
   now intentionally smaller and shares the card with editable local context.
   -------------------------------------------------------------------------- */

/* The header control reads as a lightweight label plus a compact control,
   rather than one large pill-shaped button. */
.pip-menu-trigger,
.pip-menu-rail__close{
  min-height:38px;
  padding:0;
  gap:8px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:-.01em;
  text-transform:none;
  text-shadow:0 1px 5px rgba(0,0,0,.35);
  box-shadow:none;
}

.pip-menu-trigger:hover,
.pip-menu-trigger:focus-visible,
.pip-menu-rail__close:hover,
.pip-menu-rail__close:focus-visible{
  background:transparent;
  color:#fff;
  transform:none;
  outline:none;
}

.pip-menu-trigger__label{
  padding:8px 0;
}

.pip-menu-trigger__dots{
  width:36px;
  height:36px;
  gap:3px;
  flex:0 0 36px;
  background:rgba(16,43,67,.88);
  border:1px solid rgba(255,255,255,.44);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.14);
}

.pip-menu-trigger__dots i{
  width:3px;
  height:3px;
}

/* One wider card: navigation sits left and the editable local context sits
   right. The compact corners keep it in step with the civic logo system. */
.pip-menu-panel{
  width:min(940px,calc(100vw - 48px));
  min-height:392px;
  padding:0;
  overflow:hidden;
  border-radius:14px;
  background:#dce6eb;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
}

.pip-menu-panel__inner{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  min-height:392px;
}

.pip-overlay-nav{
  display:flex;
  align-items:center;
  min-width:0;
  padding:clamp(32px,4vw,52px);
}

.pip-overlay-nav__list{
  width:100%;
  gap:4px;
}

.pip-overlay-nav__list a{
  min-height:52px;
  padding:8px 12px;
  border-radius:8px;
  font-size:clamp(30px,3.25vw,48px);
  letter-spacing:-.075em;
  line-height:.98;
}

.pip-overlay-nav__list a::before{
  left:14px;
  font-size:.58em;
}

.pip-overlay-nav__list a:hover,
.pip-overlay-nav__list a:focus-visible{
  padding-left:54px;
  background:rgba(255,255,255,.70);
}

.pip-menu-about{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(30px,3.8vw,48px);
  background:rgba(255,255,255,.46);
  border-left:1px solid rgba(16,43,67,.16);
}

.pip-menu-about__kicker{
  margin:0 0 12px;
  color:var(--pip-ink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}

.pip-menu-about h2{
  max-width:420px;
  margin:0 0 16px;
  color:var(--pip-ink);
  font-size:clamp(28px,2.7vw,43px);
  letter-spacing:-.07em;
  line-height:.94;
}

.pip-menu-about__copy{
  max-width:390px;
  margin:0;
  color:rgba(16,43,67,.78);
  font-size:15px;
  line-height:1.55;
}

.pip-menu-about__link{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:max-content;
  max-width:100%;
  margin-top:24px;
  padding-bottom:5px;
  border-bottom:1px solid currentColor;
  color:var(--pip-ink);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  transition:gap .2s ease;
}

.pip-menu-about__link:hover,
.pip-menu-about__link:focus-visible{
  gap:20px;
  outline:none;
}

@media (max-width:760px){
  .pip-menu-trigger,
  .pip-menu-rail__close{
    min-height:34px;
    gap:7px;
    font-size:11px;
  }

  .pip-menu-trigger__label{padding:7px 0;}

  .pip-menu-trigger__dots{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .pip-menu-panel{
    left:12px!important;
    right:12px!important;
    top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 12px)!important;
    width:auto;
    min-height:0;
    max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 24px);
    overflow:auto;
    border-radius:12px;
  }

  .pip-menu-panel__inner{
    display:block;
    min-height:0;
  }

  .pip-overlay-nav{
    display:block;
    padding:28px 24px 20px;
  }

  .pip-overlay-nav__list{
    gap:3px;
  }

  .pip-overlay-nav__list a{
    min-height:44px;
    padding:7px 8px;
    border-radius:7px;
    font-size:clamp(27px,8.8vw,39px);
  }

  .pip-overlay-nav__list a:hover,
  .pip-overlay-nav__list a:focus-visible{
    padding-left:42px;
  }

  .pip-overlay-nav__list a::before{
    left:9px;
  }

  .pip-menu-about{
    display:block;
    padding:23px 24px 28px;
    border-top:1px solid rgba(16,43,67,.16);
    border-left:0;
  }

  .pip-menu-about__kicker{margin-bottom:9px;}

  .pip-menu-about h2{
    margin-bottom:12px;
    font-size:clamp(27px,8.4vw,36px);
  }

  .pip-menu-about__copy{
    font-size:14px;
    line-height:1.5;
  }

  .pip-menu-about__link{
    margin-top:18px;
    font-size:12px;
  }
}


/* --------------------------------------------------------------------------
   v1.9 — denser navigation, about icon and a scroll-aware header
   -------------------------------------------------------------------------- */

/* Restore the original neat pill control, at a smaller scale. */
.pip-menu-trigger,
.pip-menu-rail__close{
  min-height:42px;
  padding:5px 6px 5px 14px;
  gap:10px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  background:rgba(16,43,67,.94);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1;
  text-transform:none;
  text-shadow:none;
  box-shadow:0 5px 18px rgba(0,0,0,.16);
}

.pip-menu-trigger:hover,
.pip-menu-trigger:focus-visible,
.pip-menu-rail__close:hover,
.pip-menu-rail__close:focus-visible{
  border-color:rgba(255,255,255,.86);
  background:var(--pip-ink);
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}

.pip-menu-trigger__label{padding:0;}

.pip-menu-trigger__dots,
.pip-menu-rail__close .pip-menu-trigger__dots{
  width:30px;
  height:30px;
  flex:0 0 30px;
  gap:3px;
  border:0;
  background:rgba(255,255,255,.13);
  color:#fff;
  box-shadow:none;
}

.pip-menu-trigger__dots i{
  width:3px;
  height:3px;
}

/* A full-width but restrained navy bar appears after the first few pixels of
   scrolling. It keeps the fixed navigation readable over every section while
   keeping the opening hero clean and image-led. */
.pip-site-header{
  padding:14px 24px;
  transition:padding .25s ease,background .25s ease,box-shadow .25s ease;
}

.pip-site-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background:rgba(16,43,67,.96);
  border-bottom:1px solid rgba(255,255,255,.13);
  box-shadow:0 8px 24px rgba(16,43,67,.18);
  transition:opacity .25s ease;
}

.pip-site-header--scrolled{
  padding:8px 24px;
}

.pip-site-header--scrolled::before{
  opacity:1;
}

.pip-header-shell{
  position:relative;
  z-index:1;
}

/* Let long real-world menus stay compact. The panel grows until it reaches
   the viewport-safe limit, then only the card itself scrolls. */
.pip-menu-panel{
  width:min(1000px,calc(100vw - 48px));
  min-height:0;
  max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 32px);
  overflow:auto;
  overscroll-behavior:contain;
}

.pip-menu-panel__inner{
  min-height:440px;
}

.pip-overlay-nav{
  align-items:flex-start;
  padding:clamp(30px,3.7vw,46px);
}

.pip-overlay-nav__list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
}

.pip-overlay-nav__list a{
  position:relative;
  min-height:36px;
  padding:5px 10px;
  border-radius:7px;
  font-size:clamp(20px,1.9vw,28px);
  font-weight:760;
  letter-spacing:-.055em;
  line-height:1.02;
}

.pip-overlay-nav__list a::before{
  content:"→";
  position:absolute;
  left:11px;
  top:50%;
  opacity:0;
  font-size:.9em;
  transform:translate(-6px,-52%);
  transition:opacity .18s ease,transform .2s ease;
}

.pip-overlay-nav__list a:hover,
.pip-overlay-nav__list a:focus-visible{
  padding-left:40px;
  background:rgba(255,255,255,.72);
  color:var(--pip-ink);
  transform:none;
}

.pip-overlay-nav__list a:hover::before,
.pip-overlay-nav__list a:focus-visible::before{
  opacity:1;
  transform:translate(0,-52%);
}

.pip-overlay-nav__list .current-menu-item > a,
.pip-overlay-nav__list .current_page_item > a{
  color:rgba(16,43,67,.42);
  transform:none;
}

.pip-menu-about{
  padding:clamp(30px,3.6vw,46px);
}

.pip-menu-about__icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  margin:0 0 18px;
  padding:8px;
  overflow:hidden;
  border-radius:10px;
  background:var(--pip-ink);
  box-shadow:0 8px 18px rgba(16,43,67,.14);
}

.pip-menu-about__icon-image{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.pip-menu-about h2{
  font-size:clamp(27px,2.45vw,39px);
}

@media (max-width:760px){
  .pip-site-header{
    padding:10px 14px;
  }

  .pip-site-header--scrolled{
    padding:6px 14px;
  }

  .pip-menu-trigger,
  .pip-menu-rail__close{
    min-height:38px;
    padding:4px 5px 4px 12px;
    gap:8px;
    font-size:11px;
  }

  .pip-menu-trigger__dots,
  .pip-menu-rail__close .pip-menu-trigger__dots{
    width:28px;
    height:28px;
    flex-basis:28px;
  }

  /* The previous mobile card inherited a centering transform from desktop.
     Reset it so the card is reliably within the viewport on phones. */
  .pip-menu-panel{
    left:12px!important;
    right:12px!important;
    top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 12px)!important;
    width:auto!important;
    max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 24px);
    overflow:auto;
    transform:translate3d(38px,-22px,0) rotate(5deg) scale(.95);
    transform-origin:calc(100% - 28px) -45px;
  }

  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
    animation:pip-menu-swing-from-trigger-mobile .58s cubic-bezier(.16,.85,.2,1) both;
  }

  .pip-menu-panel__inner{
    display:block;
    min-height:0;
  }

  .pip-overlay-nav{
    display:block;
    padding:24px 20px 17px;
  }

  .pip-overlay-nav__list{
    gap:1px;
  }

  .pip-overlay-nav__list a{
    min-height:34px;
    padding:5px 7px;
    border-radius:6px;
    font-size:clamp(18px,5.5vw,24px);
    letter-spacing:-.045em;
  }

  .pip-overlay-nav__list a::before{
    left:8px;
  }

  .pip-overlay-nav__list a:hover,
  .pip-overlay-nav__list a:focus-visible{
    padding-left:32px;
  }

  .pip-menu-about{
    display:block;
    padding:22px 20px 26px;
  }

  .pip-menu-about__icon{
    width:50px;
    height:50px;
    margin-bottom:14px;
    padding:7px;
    border-radius:8px;
  }

  .pip-menu-about h2{
    font-size:clamp(25px,7.5vw,33px);
  }

  @keyframes pip-menu-swing-from-trigger-mobile{
    0%{opacity:0;transform:translate3d(38px,-22px,0) rotate(5deg) scale(.95)}
    52%{opacity:1;transform:translate3d(-4px,3px,0) rotate(-.9deg) scale(1.006)}
    76%{transform:translate3d(1px,-1px,0) rotate(.25deg) scale(.998)}
    100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
  }
}

@media (prefers-reduced-motion:reduce){
  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
    animation:none!important;
    transform:translate3d(0,0,0) rotate(0) scale(1)!important;
  }
}

/* --------------------------------------------------------------------------
   v2.0 — single-page Pride in Place content system
   Long-form civic content with generous full-width imagery. These styles only
   add new content sections; the established header and overlay menu remain.
   -------------------------------------------------------------------------- */

#top,
#about,
#neighbourhood,
#board,
#get-involved,
#updates,
#contact{scroll-margin-top:90px}

.pip-hero__lead h1{max-width:min(1060px,100%)}
.pip-hero__copy{max-width:680px}

.pip-about{background:var(--pip-paper)}
.pip-about__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr);gap:clamp(46px,8vw,136px);align-items:start}
.pip-about__intro h2{max-width:780px;margin-bottom:28px}
.pip-about__area{padding:clamp(28px,4vw,48px);border-top:2px solid var(--pip-ink);background:rgba(255,255,255,.5)}
.pip-about__area h3{margin:0 0 22px;max-width:530px;font-size:clamp(32px,3.4vw,52px)}
.pip-about__area .pip-prose{font-size:clamp(16px,1.2vw,19px)}

.pip-wide-image{position:relative;width:100%;min-height:clamp(460px,64vw,900px);overflow:hidden;background:var(--pip-ink)}
.pip-wide-image--wide{min-height:clamp(300px,42vw,640px)}
.pip-wide-image--tall{min-height:clamp(460px,64vw,900px)}
.pip-wide-image--full{min-height:min(100svh,1080px)}
.pip-wide-image>a{display:block;width:100%;height:100%}
.pip-wide-image img{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:var(--pip-image-position,center center)}
.pip-wide-image::after{content:"";position:absolute;inset:auto 0 0;height:38%;pointer-events:none;background:linear-gradient(0deg,rgba(8,19,31,.55),transparent)}
.pip-wide-image__caption{position:absolute;z-index:1;left:max(24px,calc((100vw - 1360px)/2 + 24px));bottom:22px;max-width:600px;color:#fff;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}

.pip-neighbourhood{background:#dbe6eb}
.pip-neighbourhood__head{display:grid;grid-template-columns:minmax(0,.78fr) minmax(340px,1.22fr);gap:clamp(40px,8vw,130px);align-items:start;margin-bottom:clamp(34px,5vw,66px)}
.pip-neighbourhood__head h2{margin-bottom:20px}
.pip-neighbourhood__head>div>p{max-width:700px;margin:0;font-size:clamp(18px,1.55vw,23px);line-height:1.45}
.pip-neighbourhood__map{overflow:hidden;background:rgba(255,255,255,.52);border:1px solid rgba(16,43,67,.15);border-radius:10px}
.pip-neighbourhood__map-media{aspect-ratio:1.85/1;background:#b9c8d1}
.pip-neighbourhood__map-media img{width:100%;height:100%;object-fit:contain;background:#fff}
.pip-neighbourhood__map-meta{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:17px 21px;color:rgba(16,43,67,.78);font-size:13px;font-weight:600}
.pip-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:clamp(310px,45vw,600px);padding:34px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(217,230,235,.84))}
.pip-map-placeholder strong{font-size:clamp(28px,4vw,48px);letter-spacing:-.06em;line-height:.95}
.pip-map-placeholder span{margin-top:12px;font-size:14px}

.pip-board{background:var(--pip-ink);color:#fff}
.pip-board__head{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.62fr);gap:clamp(40px,9vw,150px);align-items:end;margin-bottom:clamp(40px,6vw,78px)}
.pip-board__head h2{max-width:830px;margin:0}
.pip-board__head>p{max-width:510px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(17px,1.5vw,22px);line-height:1.5}
.pip-board__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pip-board-card{display:flex;flex-direction:column;min-width:0;min-height:100%;overflow:hidden;background:#e7eef1;color:var(--pip-ink);border-radius:10px}
.pip-board-card__media{position:relative;aspect-ratio:1.35/1;background:#b8cad2;overflow:hidden}
.pip-board-card__media img{width:100%;height:100%;object-fit:cover}
.pip-board-card__initial{display:grid;place-items:center;width:100%;height:100%;background:var(--pip-accent);color:#fff;font-size:clamp(56px,8vw,130px);font-weight:800;letter-spacing:-.1em}
.pip-board-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}
.pip-board-card__body>p:first-child{margin-bottom:18px;color:rgba(16,43,67,.7);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.pip-board-card__body h3{margin:0 0 16px;font-size:clamp(28px,3vw,41px)}
.pip-board-card__bio{display:-webkit-box;overflow:hidden;margin-bottom:16px;color:rgba(16,43,67,.76);font-size:15px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:5}
.pip-board-card--placeholder{justify-content:flex-end;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff}
.pip-board-card--placeholder .pip-board-card__body{justify-content:flex-end;min-height:330px}
.pip-board-card--placeholder .pip-kicker{color:#fff}
.pip-board-card--placeholder h3{max-width:390px;color:#fff}
.pip-board-card--placeholder .pip-board-card__body>p:not(.pip-kicker){color:rgba(255,255,255,.74)}
.pip-board-card--placeholder .pip-text-link{color:#fff}

.pip-involvement{background:#f4f8f9}
.pip-involvement__head{max-width:960px;margin-bottom:clamp(38px,6vw,78px)}
.pip-involvement__head h2{max-width:880px;margin-bottom:22px}
.pip-involvement__head>p:last-child{max-width:680px;margin:0;color:rgba(16,43,67,.78);font-size:clamp(18px,1.55vw,24px);line-height:1.48}
.pip-apply-card{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,92px);padding:clamp(30px,5vw,70px);background:var(--pip-ink);color:#fff;border-radius:10px}
.pip-apply-card__intro{display:flex;flex-direction:column;align-items:flex-start}
.pip-apply-card__intro .pip-kicker{color:rgba(255,255,255,.78)}
.pip-apply-card__intro h3{max-width:520px;margin:0;font-size:clamp(38px,4.6vw,72px)}
.pip-apply-card__deadline{margin:26px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.25);font-size:14px;line-height:1.45}
.pip-apply-card__copy .pip-prose{color:rgba(255,255,255,.84);font-size:clamp(16px,1.22vw,19px)}
.pip-apply-card__copy .pip-prose p{margin-bottom:16px}
.pip-apply-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pip-apply-card .pip-button--light{background:#e7eef1;border-color:#e7eef1;color:var(--pip-ink)}
.pip-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.pip-action-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;background:#dbe6eb;border-radius:10px}
.pip-action-card__media{aspect-ratio:1.42/1;background:#bdcbd1}
.pip-action-card__media img{width:100%;height:100%;object-fit:cover}
.pip-action-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:27px}
.pip-action-card__body h3{margin:0 0 16px;font-size:clamp(28px,2.8vw,42px)}
.pip-action-card__body>p:not(.pip-kicker){margin:0;color:rgba(16,43,67,.78);font-size:15px;line-height:1.55}
.pip-action-card__body .pip-text-link{margin-top:auto;padding-top:24px}
.pip-access-note{display:flex;align-items:flex-start;gap:17px;max-width:960px;margin:clamp(38px,5vw,64px) auto 0;padding:18px 0;border-top:1px solid rgba(16,43,67,.23);border-bottom:1px solid rgba(16,43,67,.23)}
.pip-access-note>span{color:var(--pip-accent);font-size:22px;line-height:1}
.pip-access-note p{flex:1;margin:0;font-size:15px;line-height:1.5}
.pip-access-note .pip-text-link{flex:0 0 auto;white-space:nowrap}

.pip-home-news{background:#fff}
.pip-home-news__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.52fr);gap:clamp(40px,7vw,120px);align-items:end;margin-bottom:clamp(38px,5vw,64px)}
.pip-home-news__head h2{margin:0}
.pip-home-news__head>p{max-width:520px;margin:0;color:rgba(16,43,67,.72);font-size:clamp(17px,1.4vw,21px);line-height:1.52}
.pip-home-news__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pip-news-card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;background:#e8eef0;border-radius:10px;transition:transform .25s ease,background .25s ease}
.pip-news-card:hover{background:#dbe6eb;transform:translateY(-4px)}
.pip-news-card__media,.pip-news-card__blank{aspect-ratio:1.35/1;background:#c6d4da}
.pip-news-card__media img{width:100%;height:100%;object-fit:cover}
.pip-news-card__body{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px 58px 23px 23px}
.pip-news-card__body span{margin-bottom:18px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.pip-news-card__body h3{margin:0;font-size:clamp(27px,2.6vw,38px)}
.pip-news-card__body b{position:absolute;right:21px;bottom:21px;font-size:22px}
.pip-home-news__empty{padding:36px;border:1px dashed rgba(16,43,67,.32);border-radius:8px;color:rgba(16,43,67,.75)}
.pip-home-news__footer{margin-top:26px}
.pip-home-events{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:clamp(32px,7vw,108px);align-items:start;margin-top:clamp(72px,10vw,145px);padding-top:23px;border-top:2px solid var(--pip-ink)}
.pip-home-events h3{margin:0;font-size:clamp(32px,3.6vw,53px)}
.pip-home-events__list{display:flex;flex-direction:column}
.pip-home-events__list a{display:grid;grid-template-columns:72px minmax(0,1fr) 22px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(16,43,67,.2);font-size:17px;font-weight:750;transition:padding .22s ease}
.pip-home-events__list a:hover{padding-inline:7px}
.pip-home-events__list span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pip-home-events__list b{font-size:19px}

.pip-contact{background:var(--pip-leaf)}
.pip-contact__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:clamp(46px,8vw,140px);align-items:start}
.pip-contact__intro h2{max-width:780px;margin-bottom:23px}
.pip-contact__intro>p:not(.pip-kicker){max-width:620px;margin-bottom:22px;font-size:clamp(18px,1.5vw,22px);line-height:1.5}
.pip-contact__direct{display:block;width:max-content;max-width:100%;margin-top:8px;font-size:16px;font-weight:800;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.pip-contact__form{padding:clamp(24px,4vw,48px);background:rgba(255,255,255,.66);border:1px solid rgba(16,43,67,.16);border-radius:10px}
.pip-contact__form-placeholder strong{font-size:clamp(27px,3vw,40px);letter-spacing:-.06em;line-height:1}
.pip-contact__form-placeholder p{margin:14px 0 0;color:rgba(16,43,67,.72)}
.pip-contact__form form{display:grid;gap:16px}
.pip-contact__form input:not([type=checkbox]):not([type=radio]),.pip-contact__form textarea,.pip-contact__form select{width:100%;padding:13px 14px;border:1px solid rgba(16,43,67,.28);border-radius:6px;background:#fff;color:var(--pip-ink);font:inherit}
.pip-contact__form textarea{min-height:140px;resize:vertical}
.pip-contact__form input[type=submit],.pip-contact__form button[type=submit]{display:inline-flex;width:auto;cursor:pointer;padding:13px 18px;border:1px solid var(--pip-ink);border-radius:999px;background:var(--pip-ink);color:#fff;font:inherit;font-size:14px;font-weight:800}

.pip-footer-partners{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center;padding-block:26px;border-top:1px solid rgba(255,255,255,.17)}
.pip-footer-partners>div{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
.pip-footer-partner{display:grid;place-items:center;min-width:80px;max-width:160px;min-height:44px;color:#fff;font-size:13px;font-weight:750}
.pip-footer-partner img{display:block;max-width:150px;max-height:48px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.pip-footer-prospectus{display:inline-block;margin-top:16px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}

@media (max-width:960px){
  .pip-about__grid,.pip-neighbourhood__head,.pip-board__head,.pip-home-news__head,.pip-contact__grid{grid-template-columns:1fr;gap:30px}
  .pip-about__area{max-width:760px}
  .pip-board__head>p,.pip-home-news__head>p{max-width:690px}
  .pip-board__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pip-apply-card{grid-template-columns:1fr;gap:32px}
  .pip-action-grid{grid-template-columns:1fr 1fr}
  .pip-home-events{grid-template-columns:1fr;gap:24px}
}

@media (max-width:720px){
  #top,#about,#neighbourhood,#board,#get-involved,#updates,#contact{scroll-margin-top:70px}
  .pip-about__area{padding:24px}
  .pip-wide-image{min-height:48svh}
  .pip-wide-image--wide{min-height:34svh}
  .pip-wide-image--tall{min-height:56svh}
  .pip-wide-image--full{min-height:84svh}
  .pip-wide-image__caption{left:16px;right:16px;bottom:15px;font-size:10px}
  .pip-neighbourhood__map-meta{flex-direction:column;align-items:flex-start;padding:15px 16px}
  .pip-board__grid,.pip-action-grid,.pip-home-news__grid{grid-template-columns:1fr}
  .pip-board-card__media{aspect-ratio:1.5/1}
  .pip-board-card--placeholder .pip-board-card__body{min-height:270px}
  .pip-apply-card{padding:28px 23px}
  .pip-action-card__body{padding:23px}
  .pip-access-note{flex-wrap:wrap;gap:12px;padding:16px 0}
  .pip-access-note p{flex-basis:calc(100% - 38px)}
  .pip-access-note .pip-text-link{margin-left:34px}
  .pip-home-events__list a{grid-template-columns:62px minmax(0,1fr) 18px}
  .pip-contact__form{padding:22px 18px}
  .pip-footer-partners{grid-template-columns:1fr;gap:9px}
  .pip-footer-partners>div{gap:10px 18px}
  .pip-footer-partner{max-width:126px;min-height:36px}
  .pip-footer-partner img{max-width:120px;max-height:38px}
}


/* --------------------------------------------------------------------------
   v2.2 — keep the accessibility / translation row on the same grid as the
   three Get involved cards above it.
   -------------------------------------------------------------------------- */
.pip-access-note{
  width:100%;
  max-width:none;
  margin:clamp(38px,5vw,64px) 0 0;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;
  gap:17px;
  padding:18px 0;
}

.pip-access-note > span{
  grid-column:1;
  margin:0;
}

.pip-access-note p{
  grid-column:2;
  min-width:0;
  margin:0;
}

.pip-access-note .pip-text-link{
  grid-column:3;
  justify-self:end;
  margin:0;
}

@media (max-width:720px){
  .pip-access-note{
    grid-template-columns:22px minmax(0,1fr);
    align-items:start;
    gap:12px;
    padding:16px 0;
  }

  .pip-access-note p{
    grid-column:2;
    grid-row:1;
    flex-basis:auto;
  }

  .pip-access-note .pip-text-link{
    grid-column:2;
    grid-row:2;
    justify-self:start;
    margin-left:0;
  }
}

/* --------------------------------------------------------------------------
   v2.3 — Framed editorial system
   A sharper, more architectural presentation: a persistent page frame,
   stricter dividing lines, square media and a full-width navigation sheet.
   Content fields and all existing backend controls are unchanged.
   -------------------------------------------------------------------------- */
:root{
  --pip-frame:18px;
  --pip-frame-ink:#102b43;
  --pip-frame-paper:#edf2f4;
  --pip-panel:#e7eef1;
  --pip-panel-soft:#d9e4e9;
  --pip-rule:rgba(16,43,67,.24);
  --pip-rule-light:rgba(255,255,255,.28);
  --pip-radius:0px;
  --pip-shell-outer:1440px;
}

html{background:var(--pip-frame-ink)}
body{
  min-height:100vh;
  padding:var(--pip-frame);
  background:var(--pip-frame-ink);
}
body::after{
  content:"";
  position:fixed;
  z-index:1900;
  inset:0;
  pointer-events:none;
  border:var(--pip-frame) solid var(--pip-frame-ink);
}
body.pip-menu-is-open::after{border-color:var(--pip-frame-paper)}

.pip-site-main,
.pip-site-footer{
  border-inline:1px solid var(--pip-rule);
}
.pip-site-main{
  background:var(--pip-paper);
  overflow:clip;
}
.pip-site-footer{
  background:var(--pip-frame-ink);
  border-color:rgba(255,255,255,.2);
}

/* The header becomes a light, framed navigation rail rather than a floating
   pill over the page. It stays readable both over photography and content. */
.pip-site-header{
  top:var(--pip-frame);
  left:var(--pip-frame);
  right:var(--pip-frame);
  padding:0;
  background:rgba(16,43,67,.97);
  border:1px solid rgba(255,255,255,.26);
  border-bottom-color:rgba(255,255,255,.42);
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pip-site-header::before{display:none}
.pip-site-header--scrolled{
  padding:0;
  background:rgba(11,30,47,.99);
  border-color:rgba(255,255,255,.42);
  box-shadow:0 10px 24px rgba(6,18,29,.22);
}
.pip-header-shell{
  width:100%;
  max-width:none;
  min-height:64px;
  padding-inline:24px;
}
.pip-site-header .pip-wordmark{color:#fff}
.pip-site-header .pip-wordmark__text,
.pip-site-header .pip-wordmark .custom-logo-link{height:58px}
.pip-site-header .pip-wordmark .custom-logo{
  width:205px!important;
  height:58px!important;
  max-height:58px!important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));
}
.pip-header-actions{height:64px;gap:0}
.pip-header-cta{
  min-height:64px;
  margin:0;
  padding:0 24px;
  gap:10px;
  color:#fff;
  border:0;
  border-left:1px solid rgba(255,255,255,.23);
  border-radius:0;
  background:transparent;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:none;
  backdrop-filter:none;
}
.pip-header-cta .pip-button__arrow{
  width:auto;
  height:auto;
  padding:0;
  color:inherit;
  background:none;
  border-radius:0;
  font-size:16px;
}
.pip-header-cta:hover{
  transform:none;
  color:var(--pip-brand-sky);
  border-color:rgba(255,255,255,.5);
  background:transparent;
}

/* Compact Menu + / Close × controls. The measured anchor in site.js still
   ensures Close lands exactly over Menu when the overlay opens. */
.pip-menu-trigger,
.pip-menu-rail__close{
  min-height:64px;
  padding:0 0 0 24px;
  gap:14px;
  color:#fff;
  border:0;
  border-left:1px solid rgba(255,255,255,.23);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  text-shadow:none;
}
.pip-menu-trigger:hover,
.pip-menu-trigger:focus-visible,
.pip-menu-rail__close:hover,
.pip-menu-rail__close:focus-visible{
  transform:none;
  color:var(--pip-brand-sky);
  border-color:rgba(255,255,255,.58);
  background:transparent;
  outline:0;
}
.pip-menu-trigger__label{padding:0}
.pip-menu-trigger__mark{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-left:1px solid rgba(255,255,255,.23);
  color:inherit;
  font-size:23px;
  font-weight:400;
  line-height:1;
}
.pip-menu-trigger__dots{display:none!important}

/* A quiet full-screen field, then an editorial menu sheet which uses the
   same edges and dividing lines as the public site. */
.pip-menu-overlay{background:transparent}
.pip-menu-overlay::before{
  content:"";
  position:absolute;
  z-index:9;
  inset:0;
  pointer-events:none;
  border:var(--pip-frame) solid var(--pip-frame-paper);
}
.pip-menu-stage{
  background:rgba(16,43,67,.985);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.pip-menu-rail{
  z-index:11;
  top:var(--pip-menu-trigger-top)!important;
  right:var(--pip-menu-trigger-right)!important;
  left:auto!important;
  height:var(--pip-menu-trigger-height);
  gap:0;
  opacity:0;
  transform:translateY(-8px);
}
.pip-menu-overlay[aria-hidden="false"] .pip-menu-rail{
  opacity:1;
  transform:translateY(0);
}
.pip-menu-rail__close{
  min-height:var(--pip-menu-trigger-height);
  height:var(--pip-menu-trigger-height);
  padding-left:24px;
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
}
.pip-menu-rail__close .pip-menu-trigger__mark{
  height:var(--pip-menu-trigger-height);
  width:64px;
}
.pip-menu-panel{
  left:var(--pip-frame)!important;
  right:var(--pip-frame)!important;
  top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 16px)!important;
  width:auto!important;
  min-height:0;
  max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 34px);
  padding:0;
  overflow:auto;
  border:1px solid rgba(16,43,67,.26);
  border-radius:0;
  background:var(--pip-panel);
  box-shadow:none;
  transform:translate3d(0,-20px,0) rotate(.9deg) scale(.985);
  transform-origin:100% -58px;
}
.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{
  animation:pip-menu-sheet-in .56s cubic-bezier(.2,.82,.18,1) both;
}
@keyframes pip-menu-sheet-in{
  0%{opacity:0;transform:translate3d(0,-24px,0) rotate(1.2deg) scale(.982)}
  62%{opacity:1;transform:translate3d(0,3px,0) rotate(-.22deg) scale(1.002)}
  100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
}
.pip-menu-panel__inner{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
  min-height:min(590px,calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 34px));
}
.pip-overlay-nav{
  display:block;
  padding:clamp(38px,5vw,74px);
}
.pip-overlay-nav__list{gap:0}
.pip-overlay-nav__list li{border-bottom:1px solid var(--pip-rule)}
.pip-overlay-nav__list li:first-child{border-top:1px solid var(--pip-rule)}
.pip-overlay-nav__list a{
  min-height:0;
  padding:14px 0;
  border-radius:0;
  color:var(--pip-ink);
  font-size:clamp(26px,2.5vw,43px);
  font-weight:760;
  letter-spacing:-.065em;
  line-height:1;
}
.pip-overlay-nav__list a::before{
  right:0;
  left:auto;
  font-size:1em;
  font-weight:400;
  transform:translate(-8px,-52%);
}
.pip-overlay-nav__list a:hover,
.pip-overlay-nav__list a:focus-visible{
  padding-left:12px;
  color:var(--pip-brand-brick);
  background:transparent;
}
.pip-overlay-nav__list a:hover::before,
.pip-overlay-nav__list a:focus-visible::before{transform:translate(0,-52%)}
.pip-overlay-nav__list .current-menu-item>a,
.pip-overlay-nav__list .current_page_item>a{color:rgba(16,43,67,.4)}
.pip-menu-about{
  justify-content:space-between;
  padding:clamp(38px,5vw,74px);
  color:#fff;
  background:var(--pip-frame-ink);
  border:0;
  border-left:1px solid rgba(255,255,255,.3);
}
.pip-menu-about__icon{
  width:70px;
  height:70px;
  margin:0 0 34px;
  padding:0;
  border:1px solid rgba(255,255,255,.38);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.pip-menu-about__kicker{color:rgba(255,255,255,.75)}
.pip-menu-about h2{color:#fff;font-size:clamp(32px,3vw,50px)}
.pip-menu-about__copy{color:rgba(255,255,255,.76);font-size:15px;line-height:1.62}
.pip-menu-about__link{margin-top:36px;color:#fff;border-color:rgba(255,255,255,.72)}

/* Continuous frame rules throughout the editorial page. The structure stays
   simple for editors, while every visual section now shares a clear system. */
.pip-section{border-bottom:1px solid var(--pip-rule)}
.pip-wide-image{border-bottom:1px solid var(--pip-rule);border-top:1px solid var(--pip-rule);border-radius:0}
.pip-wide-image::after{height:32%;background:linear-gradient(0deg,rgba(6,22,37,.5),transparent)}
.pip-wide-image__caption{left:max(24px,calc((100vw - 1440px)/2 + 24px));font-size:10px;letter-spacing:.12em}

.pip-about__area,
.pip-neighbourhood__map,
.pip-board-card,
.pip-action-card,
.pip-news-card,
.pip-contact__form,
.pip-home-news__empty,
.pip-resource-card,
.pip-highlights__grid>div{
  border:1px solid var(--pip-rule);
  border-radius:0;
  box-shadow:none;
}
.pip-about__area{background:transparent;border-top:3px solid var(--pip-ink)}
.pip-neighbourhood__map{background:rgba(255,255,255,.38)}
.pip-board-card{border-color:rgba(255,255,255,.25);border-radius:0}
.pip-action-card,.pip-news-card{background:#e5edf0}
.pip-action-card:hover,.pip-news-card:hover{transform:none;background:#dbe8ed}
.pip-contact__form{background:rgba(255,255,255,.36)}

.pip-button,
.pip-button__arrow,
.pip-meta-list li,
.pip-contact__form input:not([type=checkbox]):not([type=radio]),
.pip-contact__form textarea,
.pip-contact__form select,
.pip-contact__form input[type=submit],
.pip-contact__form button[type=submit]{border-radius:0}
.pip-button{min-height:48px;padding:7px 10px 7px 16px;gap:16px;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.pip-button__arrow{width:32px;height:32px;font-size:17px}
.pip-button:hover{transform:none;background:var(--pip-brand-brick);border-color:var(--pip-brand-brick)}
.pip-text-link{font-size:12px;letter-spacing:.04em;text-transform:uppercase}

.pip-hero{min-height:calc(100svh - (var(--pip-frame) * 2));border-bottom:1px solid rgba(255,255,255,.45)}
.pip-hero__content{border-left:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.35)}
.pip-hero__lead{padding:clamp(28px,4vw,64px) 0}
.pip-hero__lead h1{max-width:1050px;font-size:clamp(52px,7.4vw,110px);letter-spacing:-.078em}
.pip-hero__copy{max-width:640px;font-size:clamp(18px,1.4vw,23px)}
.pip-hero__note{font-size:10px;letter-spacing:.11em;text-transform:uppercase}

.pip-board{border-color:rgba(255,255,255,.3)}
.pip-board-card--placeholder{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.pip-board-card--placeholder .pip-board-card__body>p:first-child,
.pip-board-card--placeholder .pip-board-card__body>p{color:rgba(255,255,255,.75)}
.pip-board-card--placeholder .pip-text-link{color:#fff}
.pip-apply-card{border:1px solid rgba(255,255,255,.34);border-radius:0}
.pip-access-note{border-color:var(--pip-rule)}

.pip-contact{border-bottom:0}
.pip-footer-cta,
.pip-footer-main,
.pip-footer-partners,
.pip-footer-bottom{border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}
.pip-footer-cta{border-bottom:1px solid rgba(255,255,255,.22)}

@media (max-width:760px){
  :root{--pip-frame:8px}
  body{padding:var(--pip-frame)}
  .pip-site-header{
    top:var(--pip-frame);
    left:var(--pip-frame);
    right:var(--pip-frame);
  }
  .pip-header-shell{min-height:54px;padding-inline:15px}
  .pip-site-header .pip-wordmark,
  .pip-site-header .pip-wordmark .custom-logo-link{width:145px;max-width:145px;height:48px}
  .pip-site-header .pip-wordmark .custom-logo{width:145px!important;height:48px!important;max-height:48px!important}
  .pip-header-cta{display:none}
  .pip-header-actions{height:54px}
  .pip-menu-trigger,
  .pip-menu-rail__close{min-height:54px;padding-left:12px;gap:9px;font-size:10px}
  .pip-menu-trigger__mark,
  .pip-menu-rail__close .pip-menu-trigger__mark{width:46px;height:54px;font-size:20px}
  .pip-menu-rail__close{height:var(--pip-menu-trigger-height);min-height:var(--pip-menu-trigger-height);padding-left:12px}
  .pip-menu-rail__close .pip-menu-trigger__mark{height:var(--pip-menu-trigger-height)}
  .pip-menu-panel{
    left:var(--pip-frame)!important;
    right:var(--pip-frame)!important;
    top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 10px)!important;
    max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 20px);
    transform:translate3d(0,-14px,0) rotate(.7deg) scale(.988);
  }
  .pip-menu-panel__inner{display:block;min-height:0}
  .pip-overlay-nav{padding:28px 20px 18px}
  .pip-overlay-nav__list a{padding:11px 0;font-size:clamp(22px,7.2vw,31px)}
  .pip-overlay-nav__list a:hover,.pip-overlay-nav__list a:focus-visible{padding-left:7px}
  .pip-menu-about{padding:26px 20px 30px;border-left:0;border-top:1px solid rgba(255,255,255,.28)}
  .pip-menu-about__icon{width:54px;height:54px;margin-bottom:22px}
  .pip-menu-about h2{font-size:clamp(29px,9.2vw,39px)}
  .pip-menu-about__copy{font-size:14px}
  .pip-wide-image__caption{left:16px;right:16px}
  .pip-hero{min-height:calc(100svh - (var(--pip-frame) * 2));padding-top:92px}
  .pip-hero__content{border-left:0;border-right:0}
  .pip-hero__lead{padding:26px 0 0}
  .pip-hero__lead h1{font-size:clamp(48px,13.3vw,70px)}
  .pip-button{min-height:44px;font-size:10px}
  .pip-button__arrow{width:29px;height:29px}
  .pip-footer-cta,.pip-footer-main,.pip-footer-partners,.pip-footer-bottom{border-left:0;border-right:0}
}

/* The WordPress toolbar needs to sit above the framed header in logged-in
   editing mode without knocking the header out of the visual frame. */
.admin-bar .pip-site-header{top:calc(32px + var(--pip-frame))!important}
@media (max-width:782px){.admin-bar .pip-site-header{top:calc(46px + var(--pip-frame))!important}}

@media (prefers-reduced-motion:reduce){
  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{animation:none!important;transform:none!important}
}

/* --------------------------------------------------------------------------
   v2.4 — calm corporate-editorial refresh
   Original implementation for Pride in Place. It borrows the broad layout
   principles requested by the client: a cinematic image-first opening,
   a compact centre-floating nav after scroll, warm off-white page fields,
   precise rules, and a full menu that unfolds from the navigation control.
   -------------------------------------------------------------------------- */
:root{
  --pip-font:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --pip-frame:6px;
  --pip-frame-paper:#f7f5ef;
  --pip-panel:#f7f5ef;
  --pip-panel-soft:#ebe8de;
  --pip-rule:rgba(11,42,58,.17);
  --pip-rule-light:rgba(255,255,255,.24);
  --pip-deep:#0b2a3a;
  --pip-forest:#264b4d;
  --pip-warm:#f6f4ee;
  --pip-sage:#c3d0ad;
  --pip-stone:#e5e1d6;
  --pip-sun:#c8894d;
  --pip-radius:12px;
  --pip-shell:min(1560px,calc(100vw - 96px));
  --pip-shell-outer:1560px;
}

html{background:var(--pip-frame-paper)}
body{
  padding:var(--pip-frame);
  background:var(--pip-frame-paper);
  color:var(--pip-ink);
  font-family:var(--pip-font);
  font-weight:400;
  letter-spacing:-.018em;
}
body::after{display:none}
.pip-site-main{background:var(--pip-paper);border-inline:0;overflow:clip}
.pip-site-footer{background:var(--pip-deep);border-inline:0}
.pip-shell{width:var(--pip-shell)}
.pip-section{padding-block:clamp(88px,10.2vw,176px);border-bottom:1px solid var(--pip-rule)}

h1,h2,h3{
  font-family:var(--pip-font);
  font-weight:700;
  letter-spacing:-.078em;
  line-height:.88;
}
h1{font-size:clamp(54px,8.4vw,136px)}
h2{font-size:clamp(42px,5.35vw,90px)}
h3{font-size:clamp(25px,2.55vw,40px)}
.pip-kicker{font-size:10px;font-weight:700;letter-spacing:.105em}
.pip-prose{font-size:clamp(17px,1.22vw,21px);line-height:1.5;letter-spacing:-.018em}
.pip-button{
  min-height:44px;
  padding:6px 8px 6px 15px;
  gap:14px;
  border-radius:7px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.pip-button__arrow{width:30px;height:30px;border-radius:5px;font-size:16px}
.pip-button:hover{transform:translateY(-1px);background:var(--pip-accent);border-color:var(--pip-accent)}
.pip-text-link{font-size:12px;font-weight:700;letter-spacing:-.01em;text-transform:none}

/* Header: spacious over the first image, then it resolves into a centred
   pill-nav after scrolling. On a phone it stays edge aligned for clarity. */
.pip-site-header{
  top:calc(var(--pip-frame) + 16px)!important;
  left:calc(var(--pip-frame) + 24px)!important;
  right:calc(var(--pip-frame) + 24px)!important;
  display:flex;
  justify-content:center;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:top .38s cubic-bezier(.2,.78,.22,1)!important;
}
.pip-site-header::before{display:none!important}
.pip-header-shell{
  width:100%;
  max-width:1660px;
  min-height:48px;
  margin:0;
  padding:0;
  gap:16px;
  background:transparent;
  border:0;
  border-radius:0;
  transition:width .48s cubic-bezier(.2,.78,.22,1),min-height .48s cubic-bezier(.2,.78,.22,1),padding .48s cubic-bezier(.2,.78,.22,1),background .48s ease,border-color .48s ease,box-shadow .48s ease,gap .48s ease;
}
.pip-wordmark{
  flex:0 0 198px!important;
  width:198px;
  max-width:198px!important;
  min-width:0;
  overflow:hidden;
  color:#fff!important;
  transition:flex-basis .38s cubic-bezier(.2,.78,.22,1),width .38s cubic-bezier(.2,.78,.22,1),max-width .38s cubic-bezier(.2,.78,.22,1),opacity .22s ease,transform .38s cubic-bezier(.2,.78,.22,1),margin .38s ease;
}
.pip-wordmark .custom-logo-link,
.pip-wordmark__text{width:198px!important;height:50px!important;color:inherit!important}
.pip-wordmark .custom-logo{width:198px!important;max-width:198px!important;height:50px!important;max-height:50px!important;object-position:left center!important;filter:drop-shadow(0 1px 5px rgba(0,0,0,.28))!important}
.pip-wordmark__main{font-size:20px}
.pip-wordmark__sub{font-size:8px}
.pip-header-mark{
  display:grid;
  place-items:center;
  width:0;
  min-width:0;
  height:0;
  overflow:hidden;
  opacity:0;
  color:#fff;
  border:1px solid transparent;
  border-radius:50%;
  font-size:10px;
  font-weight:700;
  letter-spacing:-.06em;
  pointer-events:none;
  transition:width .38s cubic-bezier(.2,.78,.22,1),height .38s cubic-bezier(.2,.78,.22,1),opacity .25s ease,margin .38s ease,border-color .25s ease;
}
.pip-header-nav{margin-left:auto;min-width:0}
.pip-header-nav__list{display:flex;align-items:center;gap:clamp(12px,1.55vw,24px);margin:0;padding:0;list-style:none}
.pip-header-nav__list li{margin:0;padding:0}
.pip-header-nav__list li:nth-child(n+6){display:none}
.pip-header-nav__list a{
  position:relative;
  display:block;
  padding:7px 0;
  color:rgba(255,255,255,.96);
  font-size:12px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  transition:color .2s ease,opacity .2s ease;
}
.pip-header-nav__list a::after{content:"";position:absolute;right:0;bottom:3px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.pip-header-nav__list a:hover::after,.pip-header-nav__list .current-menu-item>a::after,.pip-header-nav__list .current_page_item>a::after{transform:scaleX(1);transform-origin:left}
.pip-header-actions{height:auto;gap:0;margin-left:8px}
.pip-header-cta{display:none!important}
.pip-menu-trigger{
  min-height:36px!important;
  padding:4px 5px 4px 12px!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:999px!important;
  background:rgba(6,20,30,.20)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  transition:background .22s ease,border-color .22s ease,transform .22s ease!important;
}
.pip-menu-trigger:hover,.pip-menu-trigger:focus-visible{background:rgba(6,20,30,.56)!important;border-color:#fff!important;transform:translateY(-1px)!important;outline:0}
.pip-menu-trigger__mark{
  display:grid!important;
  place-items:center;
  width:24px!important;
  height:24px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.18)!important;
  font-size:17px!important;
  font-weight:400!important;
}

.pip-site-header--on-paper .pip-header-shell{padding:5px 9px 5px 14px;background:rgba(11,42,58,.96);border:1px solid rgba(255,255,255,.22);border-radius:999px;box-shadow:0 10px 28px rgba(6,20,30,.12)}
.pip-site-header--on-paper .pip-header-nav{margin-left:auto}

.pip-site-header--scrolled{top:calc(var(--pip-frame) + 12px)!important}
.pip-site-header--scrolled .pip-header-shell{
  width:auto;
  max-width:calc(100vw - 32px);
  min-height:44px;
  padding:4px 5px 4px 9px;
  gap:0;
  justify-content:center;
  background:rgba(8,27,39,.96);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  box-shadow:0 10px 28px rgba(5,16,24,.22);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.pip-site-header--scrolled .pip-wordmark{flex-basis:0!important;width:0;max-width:0!important;opacity:0;transform:translateX(-8px);margin:0}
.pip-site-header--scrolled .pip-header-mark{width:30px;height:30px;margin-right:7px;opacity:1;border-color:rgba(255,255,255,.42);pointer-events:auto}
.pip-site-header--scrolled .pip-header-nav{margin-left:0}
.pip-site-header--scrolled .pip-header-nav__list{gap:clamp(10px,1.15vw,17px)}
.pip-site-header--scrolled .pip-header-nav__list a{padding:7px 0;font-size:11px}
.pip-site-header--scrolled .pip-header-actions{margin-left:7px}
.pip-site-header--scrolled .pip-menu-trigger{min-height:34px!important;padding:3px 4px 3px 10px!important;border-color:transparent!important;background:rgba(255,255,255,.08)!important}
.pip-site-header--scrolled .pip-menu-trigger:hover{border-color:rgba(255,255,255,.42)!important;background:rgba(255,255,255,.14)!important}

/* Menu overlay: a simple dark field and restrained sheet, not a background
   graphic competing with real navigation. */
.pip-menu-overlay{background:transparent}
.pip-menu-overlay::before{z-index:9;border:var(--pip-frame) solid var(--pip-frame-paper)}
.pip-menu-stage{background:rgba(7,22,31,.94);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.pip-menu-rail{z-index:13;top:var(--pip-menu-trigger-top)!important;right:var(--pip-menu-trigger-right)!important;left:auto!important;height:var(--pip-menu-trigger-height);gap:0}
.pip-menu-rail__close{
  min-height:var(--pip-menu-trigger-height)!important;
  height:var(--pip-menu-trigger-height)!important;
  padding:4px 5px 4px 12px!important;
  gap:8px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:999px!important;
  background:rgba(8,27,39,.94)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.pip-menu-rail__close .pip-menu-trigger__mark{width:24px!important;height:24px!important;border:0!important;background:rgba(255,255,255,.18)!important}
.pip-menu-panel{
  left:clamp(18px,4vw,72px)!important;
  right:clamp(18px,4vw,72px)!important;
  top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 20px)!important;
  width:auto!important;
  min-height:0;
  max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 40px - var(--pip-frame));
  overflow:auto;
  border:1px solid rgba(247,245,239,.35);
  border-radius:12px;
  background:var(--pip-panel);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  transform:translate3d(0,-18px,0) scale(.982)!important;
  transform-origin:50% -44px;
}
.pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{animation:pip-menu-sheet-reveal .62s cubic-bezier(.18,.82,.22,1) both!important}
@keyframes pip-menu-sheet-reveal{
  0%{opacity:0;transform:translate3d(0,-30px,0) scale(.965)}
  64%{opacity:1;transform:translate3d(0,4px,0) scale(1.004)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
.pip-menu-panel__inner{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);min-height:min(575px,calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 40px - var(--pip-frame)))}
.pip-overlay-nav{display:block;padding:clamp(34px,5vw,76px)}
.pip-overlay-nav__list{gap:0}
.pip-overlay-nav__list li{border-bottom:1px solid var(--pip-rule)}
.pip-overlay-nav__list li:first-child{border-top:1px solid var(--pip-rule)}
.pip-overlay-nav__list a{min-height:0;padding:clamp(12px,1.6vw,21px) 0;border:0;border-radius:0;color:var(--pip-ink);font-size:clamp(27px,2.7vw,46px);font-weight:700;letter-spacing:-.07em;line-height:.94}
.pip-overlay-nav__list a::before{right:0;left:auto;font-size:.9em;font-weight:400;transform:translate(-7px,-52%)}
.pip-overlay-nav__list a:hover,.pip-overlay-nav__list a:focus-visible{padding-left:10px;background:transparent;color:var(--pip-accent);transform:none}
.pip-overlay-nav__list a:hover::before,.pip-overlay-nav__list a:focus-visible::before{transform:translate(0,-52%)}
.pip-overlay-nav__list .current-menu-item>a,.pip-overlay-nav__list .current_page_item>a{color:rgba(11,42,58,.42)}
.pip-menu-about{justify-content:space-between;padding:clamp(34px,5vw,76px);color:#fff;background:linear-gradient(145deg,var(--pip-deep),var(--pip-forest));border:0;border-left:1px solid rgba(255,255,255,.22)}
.pip-menu-about__icon{width:68px;height:68px;margin:0 0 28px;padding:9px;border:1px solid rgba(255,255,255,.44);border-radius:10px;background:rgba(255,255,255,.08)}
.pip-menu-about__kicker{color:rgba(255,255,255,.72)}
.pip-menu-about h2{color:#fff;font-size:clamp(31px,3.1vw,52px)}
.pip-menu-about__copy{max-width:470px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.56}
.pip-menu-about__link{margin-top:30px;color:#fff;border-color:rgba(255,255,255,.7)}

/* Visual rhythm: close, human palette and thin structural rules rather than
   the previous heavy navy outer frame. */
.pip-hero{min-height:calc(100svh - (var(--pip-frame) * 2));padding-top:112px;border:0;border-radius:0 0 12px 12px;overflow:hidden}
.pip-hero__content{border:0;padding-inline:clamp(0px,3vw,46px)}
.pip-hero__lead{padding:clamp(24px,3.7vw,60px) 0}
.pip-hero__lead h1{max-width:min(1110px,100%);font-size:clamp(56px,7.8vw,128px);letter-spacing:-.085em}
.pip-hero__copy{max-width:610px;font-size:clamp(18px,1.35vw,22px);line-height:1.35}
.pip-hero__overlay{background:linear-gradient(90deg,rgba(6,24,36,.84) 0%,rgba(6,24,36,.41) 49%,rgba(6,24,36,.06) 100%)}
.pip-hero__actions{gap:9px}
.pip-hero__note{font-size:10px;letter-spacing:.08em;text-transform:none}

.pip-about{background:var(--pip-warm)}
.pip-about__grid{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:clamp(48px,9vw,170px)}
.pip-about__area{padding:0 0 0 clamp(28px,4vw,56px);background:transparent;border:0;border-left:1px solid var(--pip-rule)}
.pip-about__area h3{font-size:clamp(31px,3.35vw,55px)}
.pip-neighbourhood{background:#dfe9e3}
.pip-neighbourhood__map{border:1px solid var(--pip-rule);border-radius:10px;background:#f8f7f2}
.pip-neighbourhood__map-meta{background:#f8f7f2}
.pip-wide-image{border:0;border-radius:0;min-height:clamp(420px,58vw,830px)}
.pip-wide-image--wide{min-height:clamp(300px,36vw,570px)}
.pip-wide-image--full{min-height:calc(100svh - (var(--pip-frame) * 2))}
.pip-wide-image::after{height:42%;background:linear-gradient(0deg,rgba(7,22,31,.55),transparent)}
.pip-wide-image__caption{left:max(28px,calc((100vw - 1560px)/2 + 26px));bottom:28px;font-size:10px;letter-spacing:.08em}
.pip-board{background:var(--pip-deep)}
.pip-board-card{border-color:rgba(255,255,255,.22);border-radius:10px;background:#f5f3ec}
.pip-board-card--placeholder{background:transparent;border-color:rgba(255,255,255,.3)}
.pip-involvement{background:var(--pip-warm)}
.pip-apply-card{border:0;border-radius:12px;background:var(--pip-forest)}
.pip-action-card,.pip-news-card{border:1px solid var(--pip-rule);border-radius:10px;background:#e9e8df}
.pip-action-card:hover,.pip-news-card:hover{background:#e0e2d5;transform:translateY(-2px)}
.pip-home-news{background:#f8f7f3}
.pip-contact{background:var(--pip-sage)}
.pip-contact__form{border:1px solid var(--pip-rule);border-radius:10px;background:rgba(248,247,243,.78)}
.pip-footer-cta,.pip-footer-main,.pip-footer-partners,.pip-footer-bottom{border-left:0;border-right:0}

@media (max-width:1120px){
  .pip-header-nav__list{gap:13px}
  .pip-header-nav__list li:nth-child(n+5){display:none}
  .pip-site-header--scrolled .pip-header-nav__list li:nth-child(n+5){display:none}
}

@media (max-width:820px){
  :root{--pip-frame:5px;--pip-shell:min(100vw - 32px,1560px)}
  body{padding:var(--pip-frame)}
  .pip-site-header{top:calc(var(--pip-frame) + 10px)!important;left:calc(var(--pip-frame) + 12px)!important;right:calc(var(--pip-frame) + 12px)!important;display:block}
  .pip-header-shell{width:100%;min-height:44px;justify-content:space-between}
  .pip-wordmark{flex-basis:152px!important;width:152px;max-width:152px!important;opacity:1!important;transform:none!important}
  .pip-wordmark .custom-logo-link,.pip-wordmark__text{width:152px!important;height:42px!important}
  .pip-wordmark .custom-logo{width:152px!important;max-width:152px!important;height:42px!important;max-height:42px!important}
  .pip-header-mark,.pip-site-header--scrolled .pip-header-mark{display:none!important}
  .pip-header-nav,.pip-site-header--scrolled .pip-header-nav{display:none}
  .pip-header-actions,.pip-site-header--scrolled .pip-header-actions{margin-left:auto}
  .pip-menu-trigger,.pip-site-header--scrolled .pip-menu-trigger{min-height:34px!important;padding:4px 4px 4px 11px!important;font-size:10px!important}
  .pip-menu-trigger__mark{width:22px!important;height:22px!important;font-size:15px!important}
  .pip-site-header--scrolled{top:calc(var(--pip-frame) + 8px)!important}
  .pip-site-header--scrolled .pip-header-shell{width:100%;min-height:44px;padding:4px 5px 4px 9px;justify-content:space-between;border-radius:8px;background:rgba(8,27,39,.95);border:1px solid rgba(255,255,255,.22)}
  .pip-site-header--on-paper .pip-header-shell{border-radius:8px}
  .pip-menu-panel{left:calc(var(--pip-frame) + 10px)!important;right:calc(var(--pip-frame) + 10px)!important;top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 13px)!important;max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 24px - var(--pip-frame));border-radius:10px}
  .pip-menu-panel__inner{display:block;min-height:0}
  .pip-overlay-nav{padding:28px 22px 20px}
  .pip-overlay-nav__list a{padding:12px 0;font-size:clamp(24px,8vw,34px)}
  .pip-menu-about{padding:28px 22px 34px;border-top:1px solid rgba(255,255,255,.22);border-left:0}
  .pip-menu-about__icon{width:56px;height:56px;margin-bottom:21px}
  .pip-menu-about h2{font-size:clamp(30px,10vw,42px)}
  .pip-hero{padding-top:78px;border-radius:0 0 10px 10px}
  .pip-hero__content{padding-inline:0}
  .pip-hero__lead{padding:18px 0 0}
  .pip-hero__lead h1{font-size:clamp(49px,13.5vw,76px)}
  .pip-hero__copy{font-size:18px;line-height:1.4}
  .pip-about__grid{grid-template-columns:1fr;gap:34px}
  .pip-about__area{padding:27px 0 0;border-top:1px solid var(--pip-rule);border-left:0}
  .pip-wide-image{min-height:48svh}
  .pip-wide-image--wide{min-height:36svh}
  .pip-wide-image--full{min-height:82svh}
  .pip-wide-image__caption{left:16px;right:16px;bottom:17px}
}

@media (prefers-reduced-motion:reduce){
  .pip-site-header,.pip-header-shell,.pip-wordmark,.pip-header-mark{transition:none!important}
  .pip-menu-overlay[aria-hidden="false"] .pip-menu-panel{animation:none!important;transform:none!important}
}

/* Keep WordPress's admin toolbar clear of the fixed navigation while editing. */
.admin-bar .pip-site-header{top:calc(32px + var(--pip-frame) + 16px)!important}
.admin-bar .pip-site-header--scrolled{top:calc(32px + var(--pip-frame) + 12px)!important}
@media (max-width:782px){
  .admin-bar .pip-site-header{top:calc(46px + var(--pip-frame) + 10px)!important}
  .admin-bar .pip-site-header--scrolled{top:calc(46px + var(--pip-frame) + 8px)!important}
}

/* --------------------------------------------------------------------------
   v2.5 — refined light / dark editorial system
   Designed specifically for the Matson & Robinswood content. The theme keeps
   its fixed editable sections, while the visual rhythm now alternates white
   editorial fields with near-black moments for emphasis.
   -------------------------------------------------------------------------- */
:root{
  --pip-font:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --pip-ink:#101010;
  --pip-paper:#ffffff;
  --pip-frame-paper:#ffffff;
  --pip-panel:#ffffff;
  --pip-panel-soft:#f3f3f0;
  --pip-deep:#111111;
  --pip-forest:#171717;
  --pip-warm:#ffffff;
  --pip-sage:#e8ece4;
  --pip-stone:#eeeeea;
  --pip-rule:rgba(16,16,16,.16);
  --pip-rule-light:rgba(255,255,255,.22);
  --pip-radius:18px;
}

html{scroll-behavior:auto;background:#fff}
body{background:#fff;color:var(--pip-ink);font-family:var(--pip-font);font-weight:400;letter-spacing:-.025em}
.pip-site-main{background:#fff}
.pip-section{padding-block:clamp(96px,10.5vw,184px);border-color:var(--pip-rule)}

h1,h2,h3{font-family:var(--pip-font);font-weight:600;letter-spacing:-.082em;line-height:.88}
h1{font-size:clamp(56px,7.85vw,134px)}
h2{font-size:clamp(42px,5vw,84px)}
h3{font-size:clamp(25px,2.4vw,38px)}
.pip-kicker{font-size:10px;font-weight:700;letter-spacing:.1em}
.pip-prose{font-size:clamp(17px,1.16vw,20px);line-height:1.54;letter-spacing:-.018em}
.pip-button{min-height:43px;border-radius:999px;padding:6px 8px 6px 15px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}
.pip-button__arrow{width:29px;height:29px;border-radius:50%;font-size:15px}
.pip-text-link{font-size:12px;font-weight:700;letter-spacing:-.018em;text-transform:none}

/* Hero: an intentionally softened framed image rather than a square viewport. */
.pip-hero{margin:0;border:0;border-radius:22px;min-height:calc(100svh - (var(--pip-frame) * 2));overflow:hidden}
.pip-hero__content{border:0}
.pip-hero__lead{padding:clamp(28px,4vw,64px) 0}
.pip-hero__lead h1{max-width:min(1080px,100%);font-size:clamp(57px,7.55vw,126px);letter-spacing:-.09em}
.pip-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.33) 53%,rgba(0,0,0,.05) 100%)}

/* Full hero logo is larger and always contained, even when the upload has
   transparent padding around it. */
.pip-wordmark{flex-basis:238px!important;width:238px;max-width:238px!important}
.pip-wordmark .custom-logo-link,.pip-wordmark__text{width:238px!important;height:62px!important}
.pip-wordmark .custom-logo{width:238px!important;max-width:238px!important;height:62px!important;max-height:62px!important;object-fit:contain!important;object-position:left center!important}

/* The desktop navigation stays open over the hero and animates into the small
   centred control after movement. */
.pip-site-header--scrolled .pip-header-shell{background:rgba(17,17,17,.97);border-color:rgba(255,255,255,.24);box-shadow:0 12px 32px rgba(0,0,0,.19)}
.pip-site-header--scrolled .pip-header-mark{width:30px;height:30px;min-width:30px;border-color:rgba(255,255,255,.45);overflow:hidden;background:transparent}
.pip-header-mark--image{padding:3px}
.pip-header-mark__image{display:block;width:100%;height:100%;object-fit:contain}
.pip-site-header--scrolled .pip-header-mark--image{border-color:transparent;background:transparent;padding:0}
.pip-site-header--scrolled .pip-header-mark--image .pip-header-mark__image{filter:none}
.pip-header-nav__list a{font-weight:600}
.pip-menu-trigger{background:rgba(0,0,0,.24)!important}

/* Main sequence — bright spaces, then intentional dark pauses. */
.pip-about{background:#fff}
.pip-about__area{border-left-color:var(--pip-rule)}

.pip-neighbourhood{background:var(--pip-deep);color:#fff;border-color:rgba(255,255,255,.2)}
.pip-neighbourhood .pip-kicker{color:rgba(255,255,255,.68)}
.pip-neighbourhood__head>div>p{color:rgba(255,255,255,.76)}
.pip-neighbourhood__map{background:#fff;border-color:rgba(255,255,255,.3);border-radius:0;color:var(--pip-ink)}
.pip-neighbourhood__map-meta{background:#fff;color:rgba(16,16,16,.72)}

.pip-board{background:#f6f6f3;color:var(--pip-ink);border-color:var(--pip-rule)}
.pip-board__head>p{color:rgba(16,16,16,.7)}
.pip-board-card{background:#fff;border-color:var(--pip-rule);border-radius:0}
.pip-board-card__body>p:first-child,.pip-board-card__bio{color:rgba(16,16,16,.68)}
.pip-board-card--placeholder{background:var(--pip-deep);border-color:var(--pip-deep);color:#fff}
.pip-board-card--placeholder .pip-kicker,.pip-board-card--placeholder h3{color:#fff}
.pip-board-card--placeholder .pip-board-card__body>p:not(.pip-kicker){color:rgba(255,255,255,.72)}

.pip-involvement{background:var(--pip-deep);color:#fff;border-color:rgba(255,255,255,.22)}
.pip-involvement .pip-kicker{color:rgba(255,255,255,.68)}
.pip-involvement__head>p:last-child{color:rgba(255,255,255,.76)}
.pip-apply-card{background:#fff;color:var(--pip-ink);border:0;border-radius:0}
.pip-apply-card__intro .pip-kicker{color:rgba(16,16,16,.58)}
.pip-apply-card__deadline{border-color:var(--pip-rule)}
.pip-apply-card__copy .pip-prose{color:rgba(16,16,16,.78)}
.pip-apply-card .pip-button--light{background:var(--pip-ink);border-color:var(--pip-ink);color:#fff}
.pip-apply-card .pip-button--light .pip-button__arrow{background:#fff;color:var(--pip-ink)}
.pip-action-card{background:#f4f4f1;border-color:rgba(255,255,255,.28);border-radius:0}
.pip-action-card__body>p:not(.pip-kicker){color:rgba(16,16,16,.7)}
.pip-access-note{border-color:rgba(255,255,255,.28);color:#fff}
.pip-access-note>span{color:#fff}

.pip-home-news{background:#fff;color:var(--pip-ink)}
.pip-home-news__head>p{color:rgba(16,16,16,.67)}
.pip-news-card{background:#f2f2ef;border-color:var(--pip-rule);border-radius:0}
.pip-news-card:hover{background:#e9e9e5;transform:none}
.pip-home-events{border-color:var(--pip-ink)}
.pip-home-events__list a{border-color:var(--pip-rule)}

.pip-contact{background:var(--pip-deep);color:#fff;border-color:rgba(255,255,255,.2)}
.pip-contact .pip-kicker{color:rgba(255,255,255,.68)}
.pip-contact__intro>p:not(.pip-kicker){color:rgba(255,255,255,.76)}
.pip-contact__form{background:#fff;border-color:#fff;border-radius:0;color:var(--pip-ink)}
.pip-contact__form-placeholder p{color:rgba(16,16,16,.66)}
.pip-contact__form input:not([type=checkbox]):not([type=radio]),.pip-contact__form textarea,.pip-contact__form select{border-color:rgba(16,16,16,.24);border-radius:0}

/* Keep photography as expansive editorial moments. */
.pip-wide-image{border:0;border-radius:0;min-height:clamp(460px,58vw,880px)}
.pip-wide-image--wide{min-height:clamp(330px,38vw,620px)}
.pip-wide-image--full{min-height:calc(100svh - (var(--pip-frame) * 2));border-radius:22px}
.pip-wide-image::after{height:42%;background:linear-gradient(0deg,rgba(0,0,0,.52),transparent)}

/* The mobile experience keeps the same information but no longer uses a
   full-width navigation sheet. */
@media (max-width:820px){
  :root{--pip-shell:min(100vw - 32px,1560px);--pip-frame:5px}
  .pip-section{padding-block:78px}
  .pip-hero{border-radius:14px;min-height:calc(100svh - (var(--pip-frame) * 2))}
  .pip-wordmark{flex-basis:182px!important;width:182px;max-width:182px!important}
  .pip-wordmark .custom-logo-link,.pip-wordmark__text{width:182px!important;height:49px!important}
  .pip-wordmark .custom-logo{width:182px!important;max-width:182px!important;height:49px!important;max-height:49px!important}
  .pip-site-header--scrolled .pip-wordmark{width:0;max-width:0!important;flex-basis:0!important}
  .pip-site-header--scrolled .pip-header-mark{display:grid!important;width:27px;height:27px;min-width:27px}
  .pip-site-header--scrolled .pip-header-mark--image{display:grid!important}
  .pip-menu-panel{left:auto!important;right:calc(var(--pip-frame) + 10px)!important;top:calc(var(--pip-menu-trigger-top) + var(--pip-menu-trigger-height) + 13px)!important;width:min(390px,calc(100vw - 28px))!important;max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - 26px)!important;border-radius:12px!important}
  .pip-menu-panel__inner{display:block;min-height:0}
  .pip-overlay-nav{padding:22px 22px 12px}
  .pip-overlay-nav__list a{padding:11px 0;font-size:clamp(23px,7.2vw,33px)}
  .pip-menu-about{padding:23px 22px 28px;background:#111;border-top:1px solid rgba(255,255,255,.2);border-left:0}
  .pip-menu-about__icon{width:52px;height:52px;margin-bottom:17px}
  .pip-menu-about h2{font-size:clamp(27px,8.8vw,37px)}
  .pip-menu-about__copy{font-size:14px}
  .pip-neighbourhood__map,.pip-board-card,.pip-apply-card,.pip-action-card,.pip-news-card,.pip-contact__form{border-radius:0}
  .pip-neighbourhood{background:#111}
  .pip-involvement{background:#111}
  .pip-contact{background:#111}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}


/* --------------------------------------------------------------------------
   v2.6 — proportion and navigation polish
   - Image breaks are deliberately shorter than a viewport so pages retain
     momentum rather than turning every photograph into a full-screen stop.
   - Text tracking is reset to a calmer editorial rhythm: the earlier values
     were too tight for the selected web font at larger display sizes.
   - Desktop uses the visible one-page navigation only; the Menu control is
     mobile-only, where it reveals the compact panel.
   -------------------------------------------------------------------------- */
:root{
  --pip-display-track:-.052em;
}

body{
  letter-spacing:-.008em;
}

h1,h2,h3{
  letter-spacing:var(--pip-display-track);
  line-height:.92;
}

.pip-hero__lead h1{
  letter-spacing:-.062em;
  line-height:.89;
}

.pip-about__area h3,
.pip-board-card h3,
.pip-action-card h3,
.pip-news-card h3,
.pip-home-events h3,
.pip-menu-about h2,
.pip-overlay-nav__list a{
  letter-spacing:-.045em;
  line-height:.96;
}

.pip-prose,
.pip-board-card__bio,
.pip-board-card__body>p,
.pip-action-card__body>p,
.pip-news-card__body,
.pip-neighbourhood__head>div>p,
.pip-home-news__head>p,
.pip-contact__intro>p{
  letter-spacing:-.006em;
}

/* Image break size: wide is a quick visual breath; tall is immersive but not
   a full page; full remains a special option but is capped below the viewport. */
.pip-wide-image{
  min-height:clamp(340px,42vw,640px);
}
.pip-wide-image--wide{
  min-height:clamp(250px,30vw,460px);
}
.pip-wide-image--tall{
  min-height:clamp(390px,47vw,700px);
}
.pip-wide-image--full{
  min-height:min(72svh,760px);
  border-radius:18px;
}

/* Desktop has room for the ordinary section links, so do not show the mobile
   Menu button. All primary-menu links are visible and stay keyboard reachable. */
@media (min-width:821px){
  .pip-header-actions{
    display:none!important;
  }

  .pip-header-nav__list{
    gap:clamp(12px,1.18vw,20px);
  }

  .pip-header-nav__list li,
  .pip-header-nav__list li:nth-child(n+5),
  .pip-header-nav__list li:nth-child(n+6){
    display:list-item!important;
  }

  .pip-header-nav__list a,
  .pip-site-header--scrolled .pip-header-nav__list a{
    font-size:clamp(10px,.72vw,12px);
    letter-spacing:-.015em;
  }

  .pip-site-header--scrolled .pip-header-shell{
    padding-right:12px;
  }
}

@media (max-width:820px){
  .pip-header-actions,
  .pip-site-header--scrolled .pip-header-actions{
    display:flex!important;
  }

  .pip-menu-trigger,
  .pip-site-header--scrolled .pip-menu-trigger{
    display:flex!important;
  }

  .pip-wide-image{
    min-height:42svh;
  }
  .pip-wide-image--wide{
    min-height:31svh;
  }
  .pip-wide-image--tall{
    min-height:50svh;
  }
  .pip-wide-image--full{
    min-height:64svh;
    border-radius:14px;
  }

  h1,h2,h3{
    letter-spacing:-.046em;
  }
  .pip-hero__lead h1{
    letter-spacing:-.056em;
  }
}

/* --------------------------------------------------------------------------
   v2.7 — subtle card rounding + correct light-card typography
   -------------------------------------------------------------------------- */
:root{
  --pip-card-radius:10px;
}

/* Give existing content blocks a restrained, consistent softness without
   losing the editorial grid. Child media remains clipped by the card itself. */
.pip-neighbourhood__map,
.pip-board-card,
.pip-apply-card,
.pip-action-card,
.pip-news-card,
.pip-contact__form{
  border-radius:var(--pip-card-radius);
}

/* The three participation cards are deliberately light panels on the dark
   Get Involved background. Explicitly set their type colour so headings,
   kickers and action links cannot inherit white from the parent section. */
.pip-action-card{
  color:var(--pip-ink);
}
.pip-action-card .pip-kicker{
  color:rgba(16,16,16,.58);
}
.pip-action-card__body h3,
.pip-action-card .pip-text-link{
  color:var(--pip-ink);
}
.pip-action-card .pip-text-link{
  border-color:rgba(16,16,16,.62);
}

@media (max-width:820px){
  :root{--pip-card-radius:8px;}
}

/* --------------------------------------------------------------------------
   v2.8 — Google My Maps, wheel smoothing and comfortable display tracking
   -------------------------------------------------------------------------- */
:root{
  /* Less negative than the older value so words retain their natural rhythm. */
  --pip-display-track:-.022em;
}

h1,h2,h3{
  letter-spacing:var(--pip-display-track);
  line-height:.95;
}

.pip-hero__lead h1{
  letter-spacing:-.03em;
  line-height:.9;
}

.pip-about__area h3,
.pip-board-card h3,
.pip-action-card h3,
.pip-news-card h3,
.pip-home-events h3,
.pip-menu-about h2,
.pip-overlay-nav__list a{
  letter-spacing:-.022em;
  line-height:.98;
}

/* Interactive My Maps uses the same protected panel as the uploaded map. */
.pip-neighbourhood__map-embed{
  overflow:hidden;
  background:#e9eef0;
}

.pip-neighbourhood__map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
}

/* When desktop wheel smoothing is active, animation is handled by JS rather
   than CSS so anchor links can still animate precisely under the fixed header. */
html.pip-wheel-smoothing-active{
  scroll-behavior:auto;
}

@media (max-width:820px){
  :root{--pip-display-track:-.018em;}
  .pip-hero__lead h1{letter-spacing:-.025em;}
}


/* --------------------------------------------------------------------------
   v2.9 — map fills its panel + refined inertial scroll support
   -------------------------------------------------------------------------- */
/* Google My Maps reserves a small white gutter within its embedded document.
   A subtle overscan removes that gutter while retaining the panel's own
   rounded edge and preserving interactive controls. */
.pip-neighbourhood__map{
  padding:0!important;
  overflow:hidden;
  border-radius:var(--pip-card-radius);
}
.pip-neighbourhood__map-embed{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.pip-neighbourhood__map-embed iframe{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  transform:scale(1.035);
  transform-origin:center center;
}
.pip-neighbourhood__map-meta{
  position:relative;
  z-index:1;
}

@media (max-width:820px){
  .pip-neighbourhood__map-embed iframe{
    transform:scale(1.025);
  }
}

/* --------------------------------------------------------------------------
   v3.0 — native-scroll smooth-scroll rebuild (Lenis)
   --------------------------------------------------------------------------
   Lenis animates the browser's real scroll position. The visible scrollbar,
   keyboard navigation, sticky header and embedded map remain native.
*/
html.lenis,
html.lenis body{
  height:auto;
}

html.lenis.lenis-smooth{
  scroll-behavior:auto!important;
}

html.lenis.lenis-smooth [data-lenis-prevent]{
  overscroll-behavior:contain;
}

html.lenis.lenis-stopped{
  overflow:clip;
}

/* Do not re-enable the retired v2.9 wheel interceptor styles. */
html.pip-lenis-active{
  scroll-behavior:auto;
}

/* --------------------------------------------------------------------------
   v3.1 — Google My Maps containment correction
   --------------------------------------------------------------------------
   The previous 3.5% scale workaround concealed Google's inner white gutter,
   but it also made the live map appear larger than its panel. The embed now
   renders at its native scale and is clipped exactly to the media edge.
*/
.pip-neighbourhood__map{
  overflow:hidden;
  isolation:isolate;
  contain:paint;
}

.pip-neighbourhood__map-media,
.pip-neighbourhood__map-embed{
  overflow:hidden;
  min-width:0;
  max-width:100%;
}

.pip-neighbourhood__map-embed{
  position:relative;
  line-height:0;
}

.pip-neighbourhood__map-embed iframe{
  position:absolute;
  inset:-1px;
  display:block;
  width:calc(100% + 2px)!important;
  height:calc(100% + 2px)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  transform-origin:center center!important;
}

/* --------------------------------------------------------------------------
   v3.3 — shorter visual intervals + lower map panel
   --------------------------------------------------------------------------
   Keep the page moving: image breaks should read as strong visual pauses,
   not full-screen stops. The map is lowered slightly while retaining a useful
   working area for panning and zooming.
*/
.pip-wide-image{
  min-height:clamp(300px,34vw,540px);
}
.pip-wide-image--wide{
  min-height:clamp(220px,25vw,400px);
}
.pip-wide-image--tall{
  min-height:clamp(340px,39vw,610px);
}
.pip-wide-image--full{
  min-height:min(62svh,660px);
  border-radius:18px;
}

/* The same ratio applies to static and interactive maps. */
.pip-neighbourhood__map-media{
  aspect-ratio:2.25 / 1;
}

@media (max-width:820px){
  .pip-wide-image{
    min-height:36svh;
  }
  .pip-wide-image--wide{
    min-height:27svh;
  }
  .pip-wide-image--tall{
    min-height:43svh;
  }
  .pip-wide-image--full{
    min-height:58svh;
    border-radius:14px;
  }

  /* Keep the interactive map comfortably usable on narrow screens. */
  .pip-neighbourhood__map-media{
    aspect-ratio:1.22 / 1;
  }
}

/* --------------------------------------------------------------------------
   v3.5 — mobile menu clarity and controlled close motion
   -------------------------------------------------------------------------- */
/* The close rail takes the precise dimensions of the opening trigger. This
   keeps the two controls locked together at every breakpoint/admin-bar state. */
.pip-menu-rail{
  width:var(--pip-menu-trigger-width);
  justify-content:stretch;
}
.pip-menu-rail__close{
  width:100%;
  justify-content:space-between;
}

/* Mobile-only supporting content is deliberately separate from the richer
   desktop panel copy, so the small menu stays quick to read. */
.pip-menu-about__copy--mobile,
.pip-menu-about__contact{
  display:none;
}

/* Keep the overlay alive briefly while it settles away. Hiding it only after
   this motion avoids the abrupt pop that previously happened on link taps. */
.pip-menu-overlay.is-closing{
  pointer-events:none;
}
.pip-menu-overlay.is-closing .pip-menu-stage{
  opacity:0!important;
  transition:opacity .24s ease!important;
}
.pip-menu-overlay.is-closing .pip-menu-rail{
  opacity:0!important;
  transform:translateY(-8px)!important;
  transition:opacity .17s ease,transform .24s cubic-bezier(.35,.75,.35,1)!important;
}
.pip-menu-overlay.is-closing .pip-menu-panel{
  animation:none!important;
  opacity:0!important;
  transform:translate3d(0,-13px,0) scale(.988)!important;
  transition:opacity .18s ease,transform .25s cubic-bezier(.35,.75,.35,1)!important;
}

@media (max-width:760px){
  /* Exact trigger anchoring: the Close control lives in the Menu control's
     original footprint rather than floating a few pixels away. */
  .pip-menu-rail{
    top:var(--pip-menu-trigger-top)!important;
    right:var(--pip-menu-trigger-right)!important;
    left:auto!important;
    width:var(--pip-menu-trigger-width)!important;
    height:var(--pip-menu-trigger-height)!important;
  }
  .pip-menu-rail__close{
    width:100%!important;
    height:var(--pip-menu-trigger-height)!important;
    min-height:var(--pip-menu-trigger-height)!important;
  }

  /* The mobile sheet is a short link list followed by a small, bottom-aligned
     information strip. It is not a second desktop menu squeezed into a phone. */
  .pip-menu-panel{
    display:flex;
    flex-direction:column;
    min-height:0!important;
    max-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 20px)!important;
    overflow:auto!important;
  }
  .pip-menu-panel__inner{
    display:flex!important;
    flex:1 0 auto;
    flex-direction:column!important;
    min-height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 20px)!important;
  }
  .pip-overlay-nav{
    flex:0 0 auto;
    padding:18px 22px 14px!important;
  }
  .pip-overlay-nav__list li:first-child{border-top:0;}
  .pip-overlay-nav__list a{
    padding:9px 0!important;
    font-size:clamp(22px,7vw,29px)!important;
    letter-spacing:-.045em!important;
    line-height:1!important;
  }
  .pip-menu-about{
    display:block;
    margin-top:auto!important;
    padding:17px 22px 19px!important;
    background:#111!important;
    border-top:1px solid rgba(255,255,255,.22)!important;
    border-left:0!important;
  }
  .pip-menu-about__icon{
    width:34px!important;
    height:34px!important;
    margin:0 0 11px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .pip-menu-about__kicker{
    margin:0 0 6px!important;
    color:rgba(255,255,255,.62)!important;
    font-size:9px!important;
    letter-spacing:.1em!important;
  }
  .pip-menu-about h2{
    margin:0 0 7px!important;
    color:#fff!important;
    font-size:clamp(24px,7.4vw,31px)!important;
    letter-spacing:-.045em!important;
    line-height:.98!important;
  }
  .pip-menu-about__copy--desktop{
    display:none!important;
  }
  .pip-menu-about__copy--mobile{
    display:block!important;
    max-width:38ch;
    margin:0!important;
    color:rgba(255,255,255,.76)!important;
    font-size:13px!important;
    line-height:1.42!important;
  }
  .pip-menu-about__contact{
    display:block!important;
    margin-top:13px;
    padding-top:11px;
    border-top:1px solid rgba(255,255,255,.18);
  }
  .pip-menu-about__contact-label{
    display:block;
    margin-bottom:4px;
    color:rgba(255,255,255,.56);
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .pip-menu-about__contact-links{
    display:flex;
    flex-wrap:wrap;
    gap:4px 14px;
  }
  .pip-menu-about__contact-links a{
    color:#fff;
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
    text-decoration:underline;
    text-decoration-color:rgba(255,255,255,.45);
    text-underline-offset:3px;
  }
  .pip-menu-about__link{
    display:none!important;
  }
}

@media (max-width:380px){
  .pip-overlay-nav{padding:15px 18px 11px!important;}
  .pip-overlay-nav__list a{padding:7px 0!important;font-size:22px!important;}
  .pip-menu-about{padding:14px 18px 16px!important;}
  .pip-menu-about h2{font-size:24px!important;}
  .pip-menu-about__copy--mobile{font-size:12px!important;}
}

/* --------------------------------------------------------------------------
   v3.6 — refined scrolled header spacing + no-scroll mobile menu
   --------------------------------------------------------------------------
   Keep the centred desktop pill generous around the tree mark and restore the
   exact spacing requested for the contracted navigation.
*/
.pip-site-header--scrolled .pip-header-shell{
  width:auto;
  max-width:calc(100vw - 32px);
  min-height:44px;
  padding:4px 15px 4px 23px;
  gap:0;
  justify-content:center;
  background:rgba(8,27,39,.96);
  border:0 solid rgba(255,255,255,.28);
  border-radius:999px;
  box-shadow:0 10px 28px rgba(5,16,24,.22);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}

.pip-site-header--scrolled .pip-header-mark{
  width:30px;
  height:30px;
  margin-right:19px;
}

@media (min-width:821px){
  .pip-site-header--scrolled .pip-header-shell{
    padding-right:32px;
  }
}

/* On phones the useful contact panel should be visible without a second
   internal scroll.  The navigation is tightened slightly and the about area
   becomes a compact footer within the same viewport-sized sheet. */
@media (max-width:760px){
  .pip-menu-panel{
    height:calc(100svh - var(--pip-menu-trigger-top) - var(--pip-menu-trigger-height) - var(--pip-frame) - 20px)!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  .pip-menu-panel__inner{
    min-height:0!important;
    height:100%;
    flex:1 1 auto;
    overflow:hidden;
  }

  .pip-overlay-nav{
    padding:13px 22px 8px!important;
  }

  .pip-overlay-nav__list a{
    padding:6px 0!important;
    font-size:clamp(20px,6.5vw,26px)!important;
    letter-spacing:-.038em!important;
    line-height:.98!important;
  }

  .pip-menu-about{
    flex:0 0 auto;
    min-height:0;
    margin-top:auto!important;
    padding:11px 22px 13px!important;
  }

  .pip-menu-about__icon,
  .pip-menu-about__kicker{
    display:none!important;
  }

  .pip-menu-about h2{
    margin:0 0 4px!important;
    font-size:clamp(20px,6.25vw,24px)!important;
    letter-spacing:-.035em!important;
    line-height:1!important;
  }

  .pip-menu-about__copy--mobile{
    display:-webkit-box!important;
    margin:0!important;
    overflow:hidden;
    color:rgba(255,255,255,.76)!important;
    font-size:11px!important;
    line-height:1.3!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .pip-menu-about__contact{
    display:block!important;
    margin-top:7px!important;
    padding-top:7px!important;
  }

  .pip-menu-about__contact-label{
    display:none!important;
  }

  .pip-menu-about__contact-links{
    gap:3px 12px!important;
  }

  .pip-menu-about__contact-links a{
    font-size:11px!important;
    line-height:1.25!important;
  }
}

/* Very short phone viewports still keep every menu target and a contact route
   in view; the explanatory line is intentionally suppressed there. */
@media (max-width:380px), (max-height:620px){
  .pip-overlay-nav{
    padding:10px 18px 6px!important;
  }

  .pip-overlay-nav__list a{
    padding:5px 0!important;
    font-size:20px!important;
  }

  .pip-menu-about{
    padding:9px 18px 10px!important;
  }

  .pip-menu-about h2{
    margin-bottom:3px!important;
    font-size:20px!important;
  }

  .pip-menu-about__copy--mobile{
    display:none!important;
  }

  .pip-menu-about__contact{
    margin-top:5px!important;
    padding-top:5px!important;
  }
}

