:root{--hnps-plum-950:#32184F;--hnps-plum-800:#4A2373;--hnps-purple:#5A2A87;--hnps-lilac:#B9A6D2;--hnps-lilac-pale:#EEE8F4;--hnps-forest:#28743A;--hnps-logo-green:#349833;--hnps-sage:#DDEBDD;--hnps-cream:#F8F5EF;--hnps-cream-light:#FCFAF6;--hnps-charcoal:#28242C;--hnps-muted:#6E6871;--hnps-line:rgba(50,24,79,.12);--hnps-shadow-sm:0 12px 34px rgba(50,24,79,.09);--hnps-shadow-md:0 20px 55px rgba(40,36,44,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden}body,input,button,select,textarea{font-family:"Open Sans",Arial,Helvetica,sans-serif}.wp-site-blocks{padding:0}.hnps-skip-link{position:fixed;left:12px;top:-70px;z-index:99999;padding:12px 16px;background:#fff;color:var(--hnps-plum-950);font-weight:700;border-radius:8px}.hnps-skip-link:focus{top:12px}.hnps-site-header{position:relative;z-index:1000}.hnps-utility-bar{min-height:30px;background:var(--hnps-plum-950);color:#fff}.hnps-utility-bar>.wp-block-shortcode{max-width:1320px;margin:auto}.hnps-utility-links{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:30px;padding:0 24px;font-size:12px}.hnps-utility-links a{color:#fff}.hnps-masthead{background:#fff;border-bottom:1px solid var(--hnps-line)}.hnps-masthead-inner{min-height:112px!important;padding-top:9px!important;padding-bottom:9px!important}.hnps-brand{gap:15px!important}.hnps-logo img{width:94px!important;height:94px!important;object-fit:contain}.hnps-brand-text{margin:0!important}.hnps-site-title{margin:0!important;color:var(--hnps-plum-950);font-family:Raleway,Arial,sans-serif;font-size:clamp(22px,2vw,30px);font-weight:700;line-height:1.05}.hnps-school-type{margin:1px 0 0!important;color:var(--hnps-forest);font-family:Raleway,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.1}.hnps-header-search{width:44px}.hnps-header-search .wp-block-search__inside-wrapper{border:0}.hnps-header-search input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hnps-header-search button{width:43px;height:43px;padding:0!important;border:0;border-radius:50%;display:grid;place-items:center;background:var(--hnps-plum-950);color:#fff}.hnps-nav-shell{position:relative;background:var(--hnps-plum-950);color:#fff}.hnps-primary-nav-wrap{max-width:1320px;margin:0 auto;padding:0 24px}.hnps-nav-toggle{display:none;width:100%;padding:15px 0;border:0;background:transparent;color:#fff;font-family:Raleway,Arial,sans-serif;font-weight:700;text-align:left}.hnps-primary-nav{display:flex;align-items:stretch;justify-content:center;min-height:58px}.hnps-nav-item{position:static;display:flex;align-items:stretch}.hnps-nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:0 22px;color:#fff!important;font-family:Raleway,Arial,sans-serif;font-size:15px;font-weight:700;text-decoration:none}.hnps-nav-link:after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;background:#8DC78F;transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.hnps-nav-item:hover>.hnps-nav-link:after,.hnps-nav-item:focus-within>.hnps-nav-link:after,.hnps-nav-item.is-current>.hnps-nav-link:after{transform:scaleX(1)}.hnps-nav-caret{width:10px;height:7px}.hnps-mega{position:absolute;left:0;right:0;top:100%;z-index:1000;visibility:hidden;opacity:0;transform:translateY(-5px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;background:#fff;color:var(--hnps-charcoal);box-shadow:0 22px 40px rgba(40,36,44,.16)}.hnps-nav-item.is-open>.hnps-mega,.hnps-nav-item:focus-within>.hnps-mega{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.hnps-mega-inner{display:grid;grid-template-columns:minmax(220px,.75fr) 2fr;gap:50px;max-width:1320px;margin:0 auto;padding:34px 32px 38px}.hnps-mega-intro h2{margin:0 0 10px;font-size:25px}.hnps-mega-intro p{margin:0;color:var(--hnps-muted);font-size:14px}.hnps-mega-columns{min-width:0}.hnps-mega-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px 42px;margin:0;padding:0;list-style:none}.hnps-mega-list>li{min-width:0;margin:0;break-inside:avoid}.hnps-mega-list a{display:block;padding:7px 0;color:var(--hnps-charcoal)!important;font-size:15px;font-weight:600}.hnps-mega-list a:hover{color:var(--hnps-forest)!important}.hnps-mega-list ul{margin:0 0 4px 15px;padding:0;list-style:none}.hnps-mega-list ul a{font-size:13px;font-weight:400}.hnps-draft-badge{margin-left:6px;padding:1px 5px;border-radius:5px;background:var(--hnps-lilac-pale);color:var(--hnps-purple);font-size:10px}.hnps-hero{position:relative}.hnps-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(35,14,55,.93) 0%,rgba(50,24,79,.82) 31%,rgba(50,24,79,.22) 63%,rgba(50,24,79,0) 82%)}.hnps-hero>.wp-block-cover__inner-container{position:relative;z-index:2}.hnps-hero .wp-block-cover__image-background{object-position:center 45%}.hnps-hero-inner{min-height:640px;display:flex;align-items:center}.hnps-hero-copy{max-width:650px;margin-left:0!important}.hnps-eyebrow{margin:0 0 12px!important;color:var(--hnps-forest);font-size:12px!important;font-weight:700!important;letter-spacing:.18em;text-transform:uppercase}.hnps-hero .hnps-eyebrow{color:#B6E0B9}.hnps-hero h1{max-width:12ch;margin:0;color:#fff;font-size:clamp(46px,5vw,68px);line-height:1.02;letter-spacing:-.035em}.hnps-hero-intro{max-width:600px;margin:24px 0 28px!important;color:rgba(255,255,255,.93);font-size:19px!important;line-height:1.65}.hnps-hero .wp-block-button.is-style-outline .wp-block-button__link{background:#fff!important;color:var(--hnps-plum-950)!important;border-color:#fff!important}.hnps-leaf{position:absolute!important;z-index:3;pointer-events:none;opacity:.22}.hnps-hero-leaf-left{width:190px;left:-48px;top:18px}.hnps-hero-leaf-right{width:220px;right:-28px;bottom:-25px}.hnps-distinctives{padding:86px 24px 92px;background:var(--hnps-cream)}.hnps-section-title{margin:0!important;font-size:clamp(32px,3.2vw,44px)!important}.hnps-section-intro{max-width:760px;margin:16px auto 0!important;color:var(--hnps-muted);font-size:18px!important}.hnps-distinctive-grid{gap:18px!important;margin-top:44px!important}.hnps-distinctive-card{min-width:0;padding:25px 17px 28px;border:1px solid rgba(50,24,79,.08);border-radius:22px;background:#fff;box-shadow:var(--hnps-shadow-sm);text-align:center}.hnps-distinctive-illustration{margin:0 auto 12px!important}.hnps-distinctive-illustration img{width:100%;max-width:210px;height:145px;object-fit:contain}.hnps-distinctive-card h3{margin:4px 0 10px;font-size:19px}.hnps-distinctive-card p{margin:0;color:var(--hnps-muted);font-size:14px;line-height:1.55}.hnps-welcome-section{padding:82px 24px 92px;background:#fff}.hnps-welcome-panel{position:relative;overflow:hidden;gap:52px!important;padding:52px 64px!important;border:1px solid var(--hnps-line);border-radius:28px;background:linear-gradient(125deg,#fff 0%,var(--hnps-cream-light) 100%);box-shadow:var(--hnps-shadow-sm)}.hnps-headteacher-portrait{flex:0 0 190px;margin:0!important}.hnps-headteacher-portrait img{width:190px!important;height:190px!important;border-radius:50%;object-fit:cover;object-position:center 32%;box-shadow:0 14px 35px rgba(50,24,79,.16)}.hnps-welcome-copy{max-width:760px;margin:0!important}.hnps-welcome-copy .hnps-section-title{max-width:19ch}.hnps-lead{margin:18px 0 12px!important;color:#3D3740;font-size:18px!important}.hnps-signature{margin:18px 0 20px!important;color:var(--hnps-plum-950);font-size:16px}.hnps-signature span{color:var(--hnps-muted);font-size:13px;font-weight:600}.hnps-welcome-leaf{position:absolute!important;width:180px;right:-35px;bottom:-45px;opacity:.12;pointer-events:none}.hnps-values-section{padding:92px 24px 98px;background:linear-gradient(180deg,var(--hnps-lilac-pale),#fff 94%)}.hnps-values-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;margin-top:44px!important}.hnps-value-card{min-height:225px;padding:27px 24px!important;border:1px solid rgba(50,24,79,.08);border-radius:20px;background:#fff;box-shadow:var(--hnps-shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.hnps-value-card:hover,.hnps-value-card:focus-within{transform:translateY(-5px);box-shadow:0 20px 42px rgba(50,24,79,.14)}.hnps-value-symbol{display:grid;width:68px;height:68px;margin:0 auto 17px!important;place-items:center;border-radius:50%;background:var(--hnps-lilac-pale);color:var(--hnps-purple);font-family:Raleway,Arial,sans-serif;font-size:34px!important;line-height:1}.hnps-value-card:nth-child(even) .hnps-value-symbol{background:var(--hnps-sage);color:var(--hnps-forest)}.hnps-value-card h3{margin:0 0 9px!important;font-size:21px!important}.hnps-value-card p:last-child{max-width:28ch;margin:0 auto!important;color:var(--hnps-muted);font-size:15px}.hnps-journey-section{padding:0 24px 90px;background:#fff}.hnps-journey-panel{padding:48px!important;border-radius:28px;background:linear-gradient(125deg,var(--hnps-plum-950),var(--hnps-purple));color:#fff;box-shadow:var(--hnps-shadow-md)}.hnps-journey-panel .hnps-eyebrow{color:#A9D6AF}.hnps-journey-panel h2{max-width:12ch;margin:0;color:#fff;font-size:clamp(34px,3.4vw,47px)}.hnps-journey-layout{gap:38px!important}.hnps-journey-cards{gap:15px!important}.hnps-journey-card{min-height:220px;padding:25px!important;border-radius:18px;background:#fff;color:var(--hnps-charcoal)}.hnps-journey-card h3{margin:0 0 10px;color:var(--hnps-plum-950);font-size:20px}.hnps-journey-card p{color:var(--hnps-muted);font-size:14px}.hnps-journey-card a{color:var(--hnps-forest);font-weight:700}.hnps-community-section{padding:0 24px 90px;background:#fff}.hnps-community-grid{gap:20px!important}.hnps-info-panel,.hnps-map-panel{min-height:430px;padding:26px!important;border:1px solid var(--hnps-line);border-radius:22px;background:var(--hnps-cream-light)}.hnps-info-panel h2{font-size:25px}.hnps-news-row{padding:14px 0!important;border-top:1px solid var(--hnps-line)}.hnps-news-row h3{margin:0 0 3px;font-size:16px}.hnps-news-row time{color:var(--hnps-forest);font-size:12px;font-weight:700}.hnps-map-panel{position:relative;overflow:hidden;padding:0!important;background:#EAF0E8}.hnps-map-image{height:100%;margin:0!important}.hnps-map-image img{width:100%;height:430px;object-fit:cover}.hnps-map-card{position:absolute;right:22px;bottom:22px;width:min(305px,calc(100% - 44px));padding:24px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--hnps-shadow-md)}.hnps-map-card h2{margin:0 0 10px;font-size:20px}.hnps-map-card p{margin:0 0 14px;color:var(--hnps-muted);font-size:14px}.hnps-event-list{margin-top:16px}.hnps-event-row{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--hnps-line)}.hnps-event-date{overflow:hidden;width:58px;height:64px;border:1px solid var(--hnps-line);border-radius:12px;background:#fff;text-align:center}.hnps-event-date span{display:block;padding:3px;background:var(--hnps-plum-950);color:#fff;font-size:10px;font-weight:700}.hnps-event-date strong{display:block;padding-top:6px;color:var(--hnps-plum-950);font-family:Raleway,Arial,sans-serif;font-size:22px}.hnps-event-row h3{margin:2px 0 4px;font-size:15px}.hnps-event-row p{margin:0;color:var(--hnps-muted);font-size:12px}.hnps-footer{background:var(--hnps-plum-950);color:#fff}.hnps-footer-main{max-width:1320px;margin:auto;padding:48px 24px 38px}.hnps-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px}.hnps-footer-brand{display:flex;gap:18px}.hnps-footer-brand img{width:82px;height:82px;object-fit:contain;border-radius:50%}.hnps-footer h2,.hnps-footer h3{color:#fff}.hnps-footer h3{font-size:16px}.hnps-footer p,.hnps-footer a{color:rgba(255,255,255,.82);font-size:13px}.hnps-footer ul{margin:0;padding:0;list-style:none}.hnps-footer-bottom{padding:13px 24px;border-top:1px solid rgba(255,255,255,.14);font-size:12px}.hnps-footer-bottom>div{display:flex;justify-content:space-between;max-width:1320px;margin:auto}.hnps-page-hero{position:relative;overflow:hidden;padding:70px 24px 65px!important;background:linear-gradient(120deg,var(--hnps-cream),var(--hnps-lilac-pale))}.hnps-page-hero h1{max-width:20ch;margin:10px auto 0;font-size:clamp(38px,5vw,60px)}.hnps-page-hero .hnps-breadcrumbs,.hnps-page-hero .wp-block-post-excerpt{max-width:1320px;margin-left:auto;margin-right:auto}.hnps-page-excerpt{max-width:760px!important;margin-top:18px!important;color:var(--hnps-muted);font-size:19px}.hnps-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--hnps-muted);font-size:13px}.hnps-internal-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:70px;padding:72px 24px 96px}.hnps-sidebar{min-width:0}.hnps-section-menu{position:sticky;top:24px;border:1px solid var(--hnps-line);border-radius:20px;background:var(--hnps-cream-light);overflow:hidden}.hnps-section-menu-toggle{display:none}.hnps-section-menu h2{margin:0;padding:22px 22px 14px;font-size:22px}.hnps-section-menu nav a{display:block;padding:11px 22px;border-top:1px solid var(--hnps-line);color:var(--hnps-charcoal);font-size:14px;font-weight:600}.hnps-section-menu nav a:hover,.hnps-section-menu nav a[aria-current="page"]{background:var(--hnps-lilac-pale);color:var(--hnps-plum-950)}.hnps-section-menu nav .hnps-depth-2{padding-left:38px;font-size:13px;font-weight:400}.hnps-page-content{min-width:0}.hnps-page-content h2{font-size:clamp(30px,3vw,43px)}.hnps-page-content h3{margin-top:2.2em;font-size:25px}.hnps-page-content p,.hnps-page-content li{font-size:17px;line-height:1.72}.hnps-wide-content,.hnps-article{padding:70px 24px 96px}.hnps-child-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.hnps-child-card{padding:24px;border:1px solid var(--hnps-line);border-radius:18px;background:#fff;box-shadow:var(--hnps-shadow-sm)}.hnps-child-card h3{margin:0 0 7px;font-size:20px}.hnps-document-tools{margin:0 0 30px;padding:22px;border-radius:18px;background:var(--hnps-cream)}.hnps-document-filter{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px}.hnps-document-filter input,.hnps-document-filter select{min-height:46px;padding:10px 12px;border:1px solid var(--hnps-line);border-radius:10px;background:#fff}.hnps-document-list{display:grid;gap:14px}.hnps-document-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--hnps-line);border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(50,24,79,.06);transition:transform .16s ease,box-shadow .16s ease}.hnps-document-card:hover{transform:translateY(-2px);box-shadow:var(--hnps-shadow-sm)}.hnps-file-badge{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;background:var(--hnps-lilac-pale);color:var(--hnps-purple);font-family:Raleway,Arial,sans-serif;font-size:12px;font-weight:700}.hnps-document-card h2,.hnps-document-card h3{margin:0 0 4px;font-size:19px}.hnps-document-card p{margin:0;color:var(--hnps-muted);font-size:14px}.hnps-document-meta{margin-top:7px!important;font-size:12px!important;font-weight:600}.hnps-document-actions{display:flex;gap:9px}.hnps-doc-view,.hnps-doc-download{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:2px solid var(--hnps-plum-950);border-radius:999px;color:var(--hnps-plum-950)!important;font-size:13px;font-weight:700}.hnps-doc-view:hover{background:var(--hnps-plum-950);color:#fff!important}.hnps-doc-download{width:42px;padding:0;background:var(--hnps-purple);border-color:var(--hnps-purple);color:#fff!important;font-size:19px}.hnps-calendar-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;margin-bottom:24px}.hnps-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--hnps-line);border-radius:18px;overflow:hidden}.hnps-calendar-day{min-height:120px;padding:10px;border-right:1px solid var(--hnps-line);border-bottom:1px solid var(--hnps-line);background:#fff}.hnps-calendar-day:nth-child(7n){border-right:0}.hnps-calendar-day.is-outside{background:var(--hnps-cream-light);color:#aaa}.hnps-calendar-number{font-weight:700}.hnps-calendar-event{display:block;margin-top:6px;padding:5px 7px;border-radius:7px;background:var(--hnps-lilac-pale);color:var(--hnps-plum-950)!important;font-size:11px;font-weight:700}.hnps-vacancy-card{margin-bottom:18px;padding:26px;border:1px solid var(--hnps-line);border-radius:18px;background:#fff;box-shadow:var(--hnps-shadow-sm)}.hnps-vacancy-card h2{margin:0 0 8px;font-size:25px}.hnps-vacancy-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.hnps-vacancy-meta span{padding:5px 9px;border-radius:999px;background:var(--hnps-lilac-pale);color:var(--hnps-plum-950);font-size:12px;font-weight:700}.hnps-search-group{margin:0 0 45px}.hnps-search-result{padding:18px 0;border-top:1px solid var(--hnps-line)}.hnps-search-result h3{margin:0 0 5px;font-size:20px}.hnps-not-found{padding:120px 24px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.hnps-value-card:hover{transform:none}}@media(max-width:1100px){.hnps-nav-link{padding:0 13px;font-size:14px}.hnps-mega-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 30px}.hnps-distinctive-grid{flex-wrap:wrap!important}.hnps-distinctive-card{flex-basis:calc(33.333% - 18px)!important}.hnps-community-grid{flex-wrap:wrap!important}.hnps-community-grid>.wp-block-column{flex-basis:calc(50% - 10px)!important}.hnps-community-grid>.hnps-map-panel{flex-basis:100%!important}.hnps-map-image img{height:390px}}@media(max-width:860px){.hnps-utility-bar{display:none}.hnps-masthead-inner{min-height:90px!important;padding:7px 18px!important}.hnps-logo img{width:74px!important;height:74px!important}.hnps-site-title{font-size:20px}.hnps-school-type{font-size:15px}.hnps-header-search{display:none}.hnps-primary-nav-wrap{padding:0 18px}.hnps-nav-toggle{display:block}.hnps-primary-nav{display:none;min-height:0;flex-direction:column;align-items:stretch;padding-bottom:12px}.hnps-primary-nav-wrap.is-mobile-open .hnps-primary-nav{display:flex}.hnps-nav-item{display:block}.hnps-nav-link{min-height:48px;padding:0 4px}.hnps-nav-link:after{display:none}.hnps-mega{position:static;display:none;visibility:visible;opacity:1;transform:none;box-shadow:none;background:rgba(255,255,255,.07);color:#fff}.hnps-nav-item.is-open>.hnps-mega{display:block}.hnps-mega-inner{display:block;padding:15px}.hnps-mega-intro{display:none}.hnps-mega-list{display:block}.hnps-mega-list>li{margin-bottom:4px}.hnps-mega-list a{color:#fff!important;padding:7px 0}.hnps-mega-list ul a{color:rgba(255,255,255,.8)!important}.hnps-hero,.hnps-hero-inner{min-height:600px!important}.hnps-hero:before{background:linear-gradient(90deg,rgba(35,14,55,.92),rgba(50,24,79,.66))}.hnps-hero-copy{max-width:600px}.hnps-distinctive-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.hnps-distinctive-card{flex-basis:auto!important}.hnps-welcome-panel{display:grid!important;gap:28px!important;padding:38px!important;text-align:center}.hnps-headteacher-portrait{margin:auto!important}.hnps-welcome-copy .wp-block-buttons{justify-content:center}.hnps-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hnps-journey-layout{display:block!important}.hnps-journey-cards{margin-top:28px!important}.hnps-internal-layout{grid-template-columns:1fr;gap:28px}.hnps-section-menu{position:static}.hnps-section-menu-toggle{display:flex;width:100%;justify-content:space-between;padding:15px 18px;border:0;background:var(--hnps-plum-950);color:#fff;font-weight:700}.hnps-section-menu-inner{display:none}.hnps-section-menu.is-open .hnps-section-menu-inner{display:block}.hnps-community-grid>.wp-block-column{flex-basis:100%!important}.hnps-document-filter{grid-template-columns:1fr 1fr}.hnps-document-card{grid-template-columns:48px 1fr}.hnps-document-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:600px){.hnps-brand{gap:9px!important}.hnps-logo img{width:62px!important;height:62px!important}.hnps-site-title{font-size:17px}.hnps-school-type{font-size:13px}.hnps-hero,.hnps-hero-inner{min-height:590px!important}.hnps-hero h1{font-size:42px}.hnps-hero-intro{font-size:17px!important}.hnps-hero-leaf-left{width:130px}.hnps-hero-leaf-right{width:140px}.hnps-distinctives,.hnps-values-section{padding-left:16px;padding-right:16px}.hnps-distinctive-grid{grid-template-columns:1fr}.hnps-welcome-section{padding-left:16px;padding-right:16px}.hnps-welcome-panel{padding:30px 24px!important}.hnps-headteacher-portrait img{width:160px!important;height:160px!important}.hnps-values-grid{grid-template-columns:1fr!important}.hnps-journey-panel{padding:32px 22px!important}.hnps-journey-cards{display:block!important}.hnps-journey-card{margin-top:14px}.hnps-community-section{padding-left:16px;padding-right:16px}.hnps-map-image img{height:440px}.hnps-map-card{right:14px;bottom:14px;width:calc(100% - 28px)}.hnps-footer-grid{grid-template-columns:1fr}.hnps-footer-bottom>div{display:block}.hnps-child-page-grid{grid-template-columns:1fr}.hnps-document-filter{grid-template-columns:1fr}.hnps-calendar-grid{display:block;border:0}.hnps-calendar-day{min-height:auto;margin-bottom:8px;border:1px solid var(--hnps-line);border-radius:10px}.hnps-calendar-day:empty{display:none}}

/* ================================================================
   Newlaithes 2026 v1.0.2 controlled repair
   Compact header, functional search, consistent cards/buttons and
   more disciplined mega-menu spacing.
   ================================================================ */

/* Keep headings and component labels intact. */
.hnps-site-title,
.hnps-school-type,
.hnps-mega-list a,
.hnps-distinctive-card h3,
.hnps-journey-panel h2,
.hnps-journey-card h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* Match the approved prototype's compact masthead. */
.hnps-utility-bar,
.hnps-utility-links { min-height: 26px !important; }
.hnps-utility-links { font-size: 11px !important; }
.hnps-masthead-inner {
  position: relative;
  min-height: 96px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.hnps-brand { gap: 13px !important; }
.hnps-logo img {
  width: 74px !important;
  height: 74px !important;
}
.hnps-site-title { font-size: clamp(22px, 1.8vw, 28px) !important; }
.hnps-school-type { font-size: 16px !important; }
.hnps-primary-nav { min-height: 54px !important; }
.hnps-nav-link { padding-inline: 20px !important; }

/* The search control opens a real search field without stretching the header. */
.hnps-header-search {
  position: relative;
  z-index: 4;
  width: 44px !important;
  min-width: 44px;
  margin: 0 !important;
}
.hnps-header-search .wp-block-search__inside-wrapper {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 43px;
  padding: 0 !important;
  border: 0 !important;
}
.hnps-header-search input.wp-block-search__input {
  position: absolute !important;
  top: 0;
  right: 52px;
  width: 0 !important;
  height: 43px;
  min-height: 43px;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
  border: 1px solid rgba(50,24,79,.2);
  border-radius: 999px;
  background: #fff;
  color: var(--hnps-charcoal);
  box-shadow: 0 8px 24px rgba(50,24,79,.12);
  transition: width .18s ease, opacity .14s ease, padding .18s ease;
}
.hnps-header-search.is-open input.wp-block-search__input {
  width: min(360px, 34vw) !important;
  padding: 0 16px !important;
  opacity: 1;
  pointer-events: auto;
}
.hnps-header-search button.wp-block-search__button {
  position: relative;
  z-index: 2;
  flex: 0 0 43px;
}
.hnps-header-search input.wp-block-search__input:focus {
  outline: 3px solid rgba(40,116,58,.32);
  outline-offset: 2px;
}

/* Compact mega menus: direct section pages only, arranged cleanly. */
.hnps-mega-inner {
  grid-template-columns: minmax(210px, .62fr) minmax(0, 2.38fr) !important;
  gap: 38px !important;
  padding: 26px 32px 30px !important;
}
.hnps-mega-intro h2 { font-size: 24px !important; }
.hnps-mega-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px 38px !important;
}
.hnps-mega-list.hnps-mega-list--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 760px;
}
.hnps-mega-list a { padding: 6px 0 !important; line-height: 1.35; }

/* Use the full wide canvas and a true five-column grid for distinctives. */
.hnps-distinctives > .wp-block-group.alignwide {
  width: 100% !important;
  max-width: 1320px !important;
}
.hnps-distinctive-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.hnps-distinctive-grid > .wp-block-column { min-width: 0 !important; }
.hnps-distinctive-card {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 0 !important;
  padding: 24px 18px 25px !important;
}
.hnps-distinctive-illustration img {
  width: 100% !important;
  max-width: 185px !important;
  height: 128px !important;
}
.hnps-distinctive-card h3 {
  min-height: 2.45em;
  margin: 3px 0 8px !important;
  font-size: 18px !important;
  line-height: 1.22 !important;
}
.hnps-distinctive-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Align the journey section and prevent narrow, uneven cards. */
.hnps-journey-layout {
  display: grid !important;
  grid-template-columns: minmax(290px, .9fr) minmax(0, 2.1fr) !important;
  gap: 42px !important;
  align-items: stretch !important;
}
.hnps-journey-layout > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}
.hnps-journey-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  height: 100%;
}
.hnps-journey-card {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  min-height: 230px !important;
  padding: 25px !important;
}
.hnps-journey-card h3 {
  min-height: 2.3em;
  margin: 0 0 10px !important;
  line-height: 1.15 !important;
}
.hnps-journey-card p { margin-bottom: 14px !important; }
.hnps-journey-card p:last-child { margin-top: auto !important; margin-bottom: 0 !important; }

/* A consistent button system across theme blocks and plugin output. */
.wp-block-button__link,
.wp-element-button,
.hnps-map-card .wp-element-button,
.hnps-document-filter button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 21px !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}
.wp-block-buttons { align-items: center !important; }

/* Footer should accommodate the full circular school logo. */
.hnps-footer-brand img {
  width: 86px !important;
  height: 86px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

@media (max-width: 1100px) {
  .hnps-distinctive-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .hnps-distinctive-grid > :nth-child(4) { grid-column: 1 / 2; }
  .hnps-distinctive-grid > :nth-child(5) { grid-column: 2 / 3; }
  .hnps-journey-layout { grid-template-columns: 1fr !important; }
  .hnps-journey-panel h2 { max-width: 18ch !important; }
}

@media (max-width: 860px) {
  .hnps-masthead-inner { min-height: 82px !important; padding: 6px 18px !important; }
  .hnps-logo img { width: 62px !important; height: 62px !important; }
  .hnps-primary-nav { min-height: 0 !important; }
  .hnps-header-search { display: none !important; }
  .hnps-mega-list,
  .hnps-mega-list.hnps-mega-list--compact { display: block !important; max-width: none; }
  .hnps-distinctive-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .hnps-distinctive-grid > :nth-child(4),
  .hnps-distinctive-grid > :nth-child(5) { grid-column: auto; }
  .hnps-distinctive-grid > :last-child { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .hnps-journey-cards { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
  .hnps-masthead-inner { min-height: 72px !important; }
  .hnps-logo img { width: 56px !important; height: 56px !important; }
  .hnps-distinctive-grid { grid-template-columns: 1fr !important; }
  .hnps-distinctive-grid > :last-child { grid-column: auto; width: 100%; }
}



/* ================================================================
   Newlaithes 2026 v1.0.3 layout correction
   Fixes the remaining header, proportion, journey and footer issues.
   ================================================================ */

/* Remove residual block-theme spacing from the fixed header composition. */
.hnps-site-header,
.hnps-site-header > .wp-block-group,
.hnps-masthead,
.hnps-masthead > .wp-block-group,
.hnps-masthead-inner {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.hnps-masthead-inner {
  height: 84px !important;
  min-height: 84px !important;
  padding: 4px 24px !important;
}
.hnps-logo img {
  width: 66px !important;
  height: 66px !important;
}
.hnps-brand { gap: 12px !important; }
.hnps-site-title { font-size: clamp(21px, 1.65vw, 27px) !important; }
.hnps-school-type { font-size: 15px !important; }
.hnps-primary-nav { min-height: 52px !important; }
.hnps-nav-link { padding-inline: 19px !important; }

/* Once Curriculum is re-parented, six direct links form a compact menu. */
.hnps-mega-inner {
  max-width: 1220px !important;
  grid-template-columns: minmax(210px, .7fr) minmax(0, 2.3fr) !important;
  gap: 34px !important;
  padding: 24px 28px 28px !important;
}
.hnps-mega-list.hnps-mega-list--compact {
  grid-template-columns: repeat(2, minmax(210px, 1fr)) !important;
  max-width: 720px !important;
  gap: 6px 34px !important;
}
.hnps-mega-list.hnps-mega-list--compact > li > a {
  padding-block: 8px !important;
}

/* Headteacher welcome: a confident portrait, but the copy remains dominant. */
.hnps-welcome-panel {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1220px !important;
  gap: 50px !important;
  padding: 46px 54px !important;
}
.hnps-headteacher-portrait {
  width: 240px !important;
  max-width: 240px !important;
  flex: none !important;
  justify-self: center;
}
.hnps-headteacher-portrait img {
  width: 240px !important;
  height: 240px !important;
}
.hnps-welcome-copy {
  width: 100% !important;
  max-width: 790px !important;
}
.hnps-welcome-copy .hnps-section-title {
  max-width: 18ch !important;
}

/* Values: centre the system and reduce the oversized empty field. */
.hnps-values-section { padding-top: 78px !important; padding-bottom: 82px !important; }
.hnps-values-section > .wp-block-group.alignwide {
  width: 100% !important;
  max-width: 1100px !important;
}
.hnps-values-grid {
  width: 100% !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 18px !important;
}
.hnps-value-card {
  min-height: 215px !important;
  padding: 25px 22px !important;
}

/* The earlier constrained layout was squeezing the journey content into 760px. */
.hnps-journey-section { padding-bottom: 82px !important; }
.hnps-journey-panel {
  width: 100% !important;
  max-width: 1220px !important;
  padding: 44px 48px !important;
}
.hnps-journey-panel > .hnps-journey-layout,
.hnps-journey-layout {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.8fr) !important;
  gap: 42px !important;
}
.hnps-journey-cards {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.hnps-journey-card {
  min-height: 235px !important;
  padding: 25px 23px !important;
}
.hnps-journey-card h3 {
  min-height: 0 !important;
  font-size: 20px !important;
}
.hnps-journey-card p:last-child a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 999px;
  background: var(--hnps-sage);
  color: var(--hnps-forest) !important;
  line-height: 1.1;
}

/* Footer: use the complete mark at a legible size and tighten the grid. */
.hnps-footer-main {
  max-width: 1220px !important;
  padding: 42px 24px 34px !important;
}
.hnps-footer-grid {
  grid-template-columns: minmax(330px, 1.55fr) repeat(3, minmax(135px, .7fr)) !important;
  gap: 34px !important;
  align-items: start !important;
}
.hnps-footer-brand {
  align-items: flex-start !important;
  gap: 20px !important;
}
.hnps-footer-brand img {
  flex: 0 0 108px !important;
  width: 108px !important;
  height: 108px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.hnps-footer-brand h2 {
  margin: 0 0 8px !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
}
.hnps-footer-brand p { max-width: 31ch; margin: 0 !important; }
.hnps-footer h3 { margin: 2px 0 10px !important; }
.hnps-footer li { margin-bottom: 5px; }
.hnps-footer-bottom > div { max-width: 1220px !important; }

@media (max-width: 1100px) {
  .hnps-masthead-inner { height: 80px !important; min-height: 80px !important; }
  .hnps-welcome-panel {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    gap: 36px !important;
    padding: 40px !important;
  }
  .hnps-headteacher-portrait,
  .hnps-headteacher-portrait img {
    width: 200px !important;
    height: 200px !important;
  }
  .hnps-journey-layout { grid-template-columns: 1fr !important; }
  .hnps-journey-panel h2 { max-width: none !important; }
  .hnps-footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr) !important; }
  .hnps-footer-grid > :last-child { grid-column: 2 / 4; }
}

@media (max-width: 860px) {
  .hnps-masthead-inner { height: 72px !important; min-height: 72px !important; }
  .hnps-logo img { width: 56px !important; height: 56px !important; }
  .hnps-welcome-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 25px !important;
    padding: 34px 28px !important;
    text-align: center;
  }
  .hnps-headteacher-portrait,
  .hnps-headteacher-portrait img {
    width: 185px !important;
    height: 185px !important;
  }
  .hnps-welcome-copy .wp-block-buttons { justify-content: center; }
  .hnps-journey-cards { grid-template-columns: 1fr !important; }
  .hnps-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hnps-footer-brand { grid-column: 1 / -1; }
  .hnps-footer-grid > :last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  .hnps-masthead-inner { height: 68px !important; min-height: 68px !important; }
  .hnps-logo img { width: 52px !important; height: 52px !important; }
  .hnps-footer-grid { grid-template-columns: 1fr !important; }
  .hnps-footer-brand { display: grid !important; grid-template-columns: 88px 1fr; }
  .hnps-footer-brand img { width: 88px !important; height: 88px !important; }
}

/* ======================================================================
   Newlaithes Final 2026 — consolidated layout system
   This separately named theme deliberately supersedes all prototype-era
   spacing and alignment rules without relying on Additional CSS.
   ====================================================================== */

/* Global rhythm and safe wrapping. */
.hnps-final-theme .wp-site-blocks,
.hnps-final-theme .wp-site-blocks > * { margin-block-start: 0; }
.hnps-final-theme h1,
.hnps-final-theme h2,
.hnps-final-theme h3,
.hnps-final-theme .hnps-nav-link,
.hnps-final-theme .hnps-mega-list a {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
.hnps-final-theme .alignwide { max-width: 1240px; }

/* Compact white masthead from the approved prototype. */
.hnps-final-theme .hnps-site-header,
.hnps-final-theme .hnps-masthead,
.hnps-final-theme .hnps-masthead-inner,
.hnps-final-theme .hnps-brand,
.hnps-final-theme .hnps-header-tools { margin: 0 !important; }
.hnps-final-theme .hnps-masthead { background: #fff; border-bottom: 1px solid var(--hnps-line); }
.hnps-final-theme .hnps-masthead-inner {
  width: min(1240px, calc(100% - 40px));
  height: 92px !important;
  min-height: 92px !important;
  padding: 8px 0 !important;
}
.hnps-final-theme .hnps-brand { gap: 14px !important; min-width: 0; }
.hnps-final-theme .hnps-logo { flex: 0 0 auto; margin: 0 !important; }
.hnps-final-theme .hnps-logo img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
}
.hnps-final-theme .hnps-brand-text { min-width: 0; }
.hnps-final-theme .hnps-site-title {
  font-size: clamp(22px, 1.75vw, 29px) !important;
  line-height: 1.02 !important;
  white-space: nowrap;
}
.hnps-final-theme .hnps-school-type {
  margin-top: 2px !important;
  font-size: 16px !important;
  line-height: 1.05 !important;
}
.hnps-final-theme .hnps-header-tools {
  display: grid !important;
  grid-template-columns: 1fr 44px;
  grid-template-rows: 24px 44px;
  column-gap: 14px;
  align-items: center;
  justify-items: end;
  min-width: min(470px, 42vw);
}
.hnps-final-theme .hnps-header-tools > .wp-block-shortcode {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0 !important;
}
.hnps-final-theme .hnps-utility-links {
  min-height: 22px !important;
  padding: 0 !important;
  gap: 9px;
  color: var(--hnps-muted);
  font-size: 11px !important;
  line-height: 1;
}
.hnps-final-theme .hnps-utility-links a { color: var(--hnps-plum-950) !important; }
.hnps-final-theme .hnps-header-search {
  grid-column: 2;
  grid-row: 2;
  width: 44px !important;
  min-width: 44px;
  margin: 0 !important;
}
.hnps-final-theme .hnps-header-search .wp-block-search__inside-wrapper { min-height: 44px; }
.hnps-final-theme .hnps-header-search button.wp-block-search__button {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
}
.hnps-final-theme .hnps-header-search input.wp-block-search__input {
  right: 52px;
  height: 44px;
  min-height: 44px;
}
.hnps-final-theme .hnps-header-search.is-open input.wp-block-search__input {
  width: min(370px, 34vw) !important;
}

/* Navigation and dynamic, row-aligned mega menus. */
.hnps-final-theme .hnps-primary-nav-wrap {
  width: min(1240px, calc(100% - 40px));
  max-width: none;
  padding: 0;
}
.hnps-final-theme .hnps-primary-nav { min-height: 54px !important; }
.hnps-final-theme .hnps-nav-link {
  padding-inline: clamp(13px, 1.45vw, 22px) !important;
  font-size: clamp(14px, calc(12px + .22vw), 16px) !important;
  line-height: 1.15;
}
.hnps-final-theme .hnps-nav-link::after {
  left: clamp(13px, 1.45vw, 22px);
  right: clamp(13px, 1.45vw, 22px);
}
.hnps-final-theme .hnps-mega-inner {
  width: min(1240px, calc(100% - 40px));
  max-width: none !important;
  grid-template-columns: minmax(215px, .68fr) minmax(0, 2.32fr) !important;
  gap: 42px !important;
  padding: 28px 0 32px !important;
}
.hnps-final-theme .hnps-mega-intro h2 {
  margin-bottom: 8px !important;
  font-size: clamp(23px, 2vw, 29px) !important;
}
.hnps-final-theme .hnps-mega-intro p {
  max-width: 31ch;
  font-size: 14px !important;
  line-height: 1.55;
}
.hnps-final-theme .hnps-mega-list,
.hnps-final-theme .hnps-mega-list.hnps-mega-list--compact {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row;
  grid-auto-rows: minmax(68px, auto);
  align-items: stretch !important;
  column-gap: clamp(26px, 3vw, 48px) !important;
  row-gap: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.hnps-final-theme .hnps-mega-list.hnps-mega-list--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 790px !important;
}
.hnps-final-theme .hnps-mega-list > li {
  display: flex;
  min-width: 0;
  min-height: 68px;
  align-items: flex-start;
  margin: 0 !important;
}
.hnps-final-theme .hnps-mega-list > li > a {
  display: flex !important;
  width: 100%;
  min-height: 68px;
  padding: 11px 0 !important;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 5px;
  font-family: Raleway, Arial, sans-serif;
  font-size: clamp(14px, calc(12px + .28vw), 17px) !important;
  font-weight: 650 !important;
  line-height: 1.28 !important;
}
.hnps-final-theme .hnps-draft-badge {
  display: inline-flex;
  flex: 0 0 auto;
  margin: 1px 0 0 2px !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 10px !important;
  line-height: 1.35;
}

/* Hero proportions. */
.hnps-final-theme .hnps-hero,
.hnps-final-theme .hnps-hero-inner { min-height: 600px !important; }
.hnps-final-theme .hnps-hero h1 {
  max-width: 11.5ch;
  font-size: clamp(46px, 5vw, 66px) !important;
}
.hnps-final-theme .hnps-hero-copy { max-width: 625px; }

/* Distinctive illustrations: one aligned five-card system. */
.hnps-final-theme .hnps-distinctives { padding: 78px 24px 84px !important; }
.hnps-final-theme .hnps-distinctives > .wp-block-group.alignwide {
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
}
.hnps-final-theme .hnps-distinctive-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 40px !important;
}
.hnps-final-theme .hnps-distinctive-grid > .wp-block-column { min-width: 0 !important; }
.hnps-final-theme .hnps-distinctive-card {
  display: grid !important;
  grid-template-rows: 150px minmax(50px, auto) 1fr;
  align-items: start;
  min-height: 352px !important;
  padding: 24px 20px 26px !important;
}
.hnps-final-theme .hnps-distinctive-illustration {
  display: grid;
  height: 150px;
  margin: 0 auto !important;
  place-items: center;
}
.hnps-final-theme .hnps-distinctive-illustration img {
  width: 100% !important;
  max-width: 190px !important;
  height: 142px !important;
  object-fit: contain;
}
.hnps-final-theme .hnps-distinctive-card h3 {
  display: flex;
  min-height: 50px !important;
  margin: 0 0 9px !important;
  align-items: center;
  justify-content: center;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  line-height: 1.2 !important;
  text-align: center;
}
.hnps-final-theme .hnps-distinctive-card p {
  margin: 0 !important;
  align-self: start;
  font-size: clamp(13px, .9vw, 15px) !important;
  line-height: 1.55 !important;
  text-align: center;
}

/* Headteacher welcome: visible and personal, not dominant. */
.hnps-final-theme .hnps-welcome-section { padding: 78px 24px 86px !important; }
.hnps-final-theme .hnps-welcome-panel {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 48px !important;
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  padding: 48px 56px !important;
  align-items: center !important;
}
.hnps-final-theme .hnps-headteacher-portrait {
  width: 230px !important;
  max-width: 230px !important;
  margin: 0 !important;
  justify-self: center;
}
.hnps-final-theme .hnps-headteacher-portrait img {
  width: 230px !important;
  height: 230px !important;
  object-position: center 30%;
}
.hnps-final-theme .hnps-welcome-copy {
  width: 100% !important;
  max-width: 790px !important;
}
.hnps-final-theme .hnps-welcome-copy .hnps-section-title {
  max-width: 19ch !important;
  font-size: clamp(34px, 3vw, 46px) !important;
}
.hnps-final-theme .hnps-welcome-copy p { max-width: 72ch; }

/* Values: exact three-by-two alignment. */
.hnps-final-theme .hnps-values-section { padding: 78px 24px 86px !important; }
.hnps-final-theme .hnps-values-section > .wp-block-group.alignwide {
  width: min(1080px, 100%) !important;
  max-width: 1080px !important;
}
.hnps-final-theme .hnps-values-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 40px auto 0 !important;
}
.hnps-final-theme .hnps-value-card {
  display: grid !important;
  grid-template-rows: 70px 32px 1fr;
  min-height: 225px !important;
  padding: 26px 24px !important;
  align-items: start;
  text-align: center;
}
.hnps-final-theme .hnps-value-symbol { margin: 0 auto !important; }
.hnps-final-theme .hnps-value-card h3 {
  display: flex;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
}
.hnps-final-theme .hnps-value-card p:last-child { align-self: start; margin-top: 10px !important; }

/* Journey: a balanced introduction and three genuinely equal cards. */
.hnps-final-theme .hnps-journey-section { padding: 0 24px 86px !important; }
.hnps-final-theme .hnps-journey-panel {
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
  padding: 44px 48px !important;
}
.hnps-final-theme .hnps-journey-layout {
  display: grid !important;
  grid-template-columns: minmax(300px, .95fr) minmax(0, 2.05fr) !important;
  gap: 44px !important;
  width: 100% !important;
  align-items: center !important;
}
.hnps-final-theme .hnps-journey-layout > .wp-block-column {
  width: auto !important;
  min-width: 0;
  flex-basis: auto !important;
}
.hnps-final-theme .hnps-journey-panel h2 {
  max-width: 13ch !important;
  font-size: clamp(36px, 3.4vw, 50px) !important;
  line-height: 1.08;
}
.hnps-final-theme .hnps-journey-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
}
.hnps-final-theme .hnps-journey-card {
  display: grid !important;
  grid-template-rows: minmax(55px, auto) 1fr auto;
  min-height: 250px !important;
  padding: 26px 24px !important;
}
.hnps-final-theme .hnps-journey-card h3 {
  margin: 0 0 12px !important;
  font-size: clamp(19px, 1.45vw, 22px) !important;
  line-height: 1.16 !important;
}
.hnps-final-theme .hnps-journey-card p { margin: 0 0 14px !important; }
.hnps-final-theme .hnps-journey-card p:last-child { margin: 0 !important; align-self: end; }
.hnps-final-theme .hnps-journey-card p:last-child a {
  display: inline-flex;
  min-height: 42px;
  padding: 9px 14px;
  align-items: center;
  border-radius: 999px;
  background: var(--hnps-sage);
  color: var(--hnps-forest) !important;
}

/* Unified button dimensions. */
.hnps-final-theme .wp-block-button__link,
.hnps-final-theme .wp-element-button,
.hnps-final-theme .hnps-map-card .wp-element-button,
.hnps-final-theme .hnps-document-filter button {
  display: inline-flex !important;
  min-height: 46px !important;
  padding: 11px 21px !important;
  align-items: center;
  justify-content: center;
  line-height: 1.15 !important;
  white-space: nowrap;
}

/* Community panels and map alignment. */
.hnps-final-theme .hnps-community-section { padding-bottom: 86px !important; }
.hnps-final-theme .hnps-community-grid { width: min(1240px, 100%); gap: 20px !important; }
.hnps-final-theme .hnps-info-panel,
.hnps-final-theme .hnps-map-panel { min-height: 430px; }

/* Footer: official roundel with white lettering on the dark background. */
.hnps-final-theme .hnps-footer-main {
  width: min(1240px, calc(100% - 40px));
  max-width: none !important;
  padding: 42px 0 34px !important;
}
.hnps-final-theme .hnps-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(350px, 1.5fr) repeat(3, minmax(145px, .72fr)) !important;
  gap: 40px !important;
  align-items: start !important;
}
.hnps-final-theme .hnps-footer-brand {
  display: grid !important;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 22px !important;
  align-items: center !important;
}
.hnps-final-theme .hnps-footer-brand img {
  width: 124px !important;
  height: 124px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
.hnps-final-theme .hnps-footer-brand h2 {
  margin: 0 0 8px !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
}
.hnps-final-theme .hnps-footer-brand p { max-width: 35ch !important; margin: 0 !important; }
.hnps-final-theme .hnps-footer h3 { margin: 2px 0 12px !important; }
.hnps-final-theme .hnps-footer li { margin-bottom: 7px !important; }
.hnps-final-theme .hnps-footer-bottom > div {
  width: min(1240px, calc(100% - 40px));
  max-width: none !important;
}

/* Internal pages: retain the approved Curriculum template proportions. */
.hnps-final-theme .hnps-page-hero > * { width: min(1240px, calc(100% - 40px)); }
.hnps-final-theme .hnps-internal-layout {
  width: min(1240px, calc(100% - 40px));
  max-width: none !important;
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) !important;
  gap: 54px !important;
}
.hnps-final-theme .hnps-page-content { min-width: 0; }

@media (max-width: 1120px) {
  .hnps-final-theme .hnps-site-title { white-space: normal; }
  .hnps-final-theme .hnps-primary-nav-wrap { width: min(100% - 24px, 1120px); }
  .hnps-final-theme .hnps-nav-link { padding-inline: 13px !important; font-size: 14px !important; }
  .hnps-final-theme .hnps-nav-link::after { left: 13px; right: 13px; }
  .hnps-final-theme .hnps-mega-inner { width: min(100% - 36px, 1080px); }
  .hnps-final-theme .hnps-mega-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hnps-final-theme .hnps-distinctive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .hnps-final-theme .hnps-distinctive-grid > :nth-child(4) { grid-column: 1; }
  .hnps-final-theme .hnps-distinctive-grid > :nth-child(5) { grid-column: 2; }
  .hnps-final-theme .hnps-journey-layout { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-journey-panel h2 { max-width: 19ch !important; }
  .hnps-final-theme .hnps-footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr) !important; }
  .hnps-final-theme .hnps-footer-grid > :last-child { grid-column: 2 / 4; }
}

@media (max-width: 860px) {
  .hnps-final-theme .hnps-masthead-inner {
    width: calc(100% - 30px);
    height: 76px !important;
    min-height: 76px !important;
    padding: 5px 0 !important;
  }
  .hnps-final-theme .hnps-logo img { width: 58px !important; height: 58px !important; }
  .hnps-final-theme .hnps-site-title { font-size: 21px !important; }
  .hnps-final-theme .hnps-school-type { font-size: 13px !important; }
  .hnps-final-theme .hnps-header-tools { min-width: 44px; display: block !important; }
  .hnps-final-theme .hnps-header-tools > .wp-block-shortcode { display: none; }
  .hnps-final-theme .hnps-header-search { display: none !important; }
  .hnps-final-theme .hnps-primary-nav-wrap { width: calc(100% - 30px); }
  .hnps-final-theme .hnps-mega-inner { width: 100%; display: block !important; padding: 16px !important; }
  .hnps-final-theme .hnps-mega-intro { display: none; }
  .hnps-final-theme .hnps-mega-list,
  .hnps-final-theme .hnps-mega-list.hnps-mega-list--compact {
    display: block !important;
    max-width: none !important;
  }
  .hnps-final-theme .hnps-mega-list > li,
  .hnps-final-theme .hnps-mega-list > li > a { min-height: 0; }
  .hnps-final-theme .hnps-mega-list > li > a { padding: 11px 4px !important; font-size: 16px !important; }
  .hnps-final-theme .hnps-hero,
  .hnps-final-theme .hnps-hero-inner { min-height: 550px !important; }
  .hnps-final-theme .hnps-distinctive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hnps-final-theme .hnps-distinctive-grid > :nth-child(4),
  .hnps-final-theme .hnps-distinctive-grid > :nth-child(5) { grid-column: auto; }
  .hnps-final-theme .hnps-distinctive-grid > :last-child { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .hnps-final-theme .hnps-welcome-panel {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: 32px !important;
    padding: 38px !important;
  }
  .hnps-final-theme .hnps-headteacher-portrait,
  .hnps-final-theme .hnps-headteacher-portrait img { width: 185px !important; height: 185px !important; }
  .hnps-final-theme .hnps-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hnps-final-theme .hnps-journey-cards { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hnps-final-theme .hnps-footer-brand { grid-column: 1 / -1; }
  .hnps-final-theme .hnps-footer-grid > :last-child { grid-column: auto; }
  .hnps-final-theme .hnps-internal-layout { grid-template-columns: 1fr !important; gap: 26px !important; }
}

@media (max-width: 600px) {
  .hnps-final-theme .hnps-brand { gap: 9px !important; }
  .hnps-final-theme .hnps-site-title { max-width: 15ch; font-size: 18px !important; }
  .hnps-final-theme .hnps-school-type { font-size: 12px !important; }
  .hnps-final-theme .hnps-hero h1 { font-size: 42px !important; }
  .hnps-final-theme .hnps-distinctive-grid { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-distinctive-grid > :last-child { grid-column: auto; width: 100%; }
  .hnps-final-theme .hnps-welcome-panel {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 32px 24px !important;
    text-align: center;
  }
  .hnps-final-theme .hnps-welcome-copy .wp-block-buttons { justify-content: center; }
  .hnps-final-theme .hnps-values-grid { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-journey-panel { padding: 34px 24px !important; }
  .hnps-final-theme .hnps-footer-grid { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-footer-brand {
    grid-template-columns: 92px minmax(0, 1fr);
    grid-column: auto;
  }
  .hnps-final-theme .hnps-footer-brand img { width: 92px !important; height: 92px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .hnps-final-theme *,
  .hnps-final-theme *::before,
  .hnps-final-theme *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ======================================================================
   Newlaithes Final 2026 Refined — compact rhythm and alignment correction
   ====================================================================== */

/* Mega menus: quieter Open Sans typography and tighter, still aligned rows. */
.hnps-final-theme .hnps-mega,
.hnps-final-theme .hnps-mega * {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
}
.hnps-final-theme .hnps-mega-inner {
  gap: 34px !important;
  padding-top: 22px !important;
  padding-bottom: 24px !important;
}
.hnps-final-theme .hnps-mega-intro h2 {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(21px, 1.7vw, 25px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}
.hnps-final-theme .hnps-mega-intro p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.hnps-final-theme .hnps-mega-list,
.hnps-final-theme .hnps-mega-list.hnps-mega-list--compact {
  grid-auto-rows: minmax(56px, auto) !important;
  column-gap: clamp(24px, 2.5vw, 40px) !important;
}
.hnps-final-theme .hnps-mega-list > li {
  min-height: 56px !important;
}
.hnps-final-theme .hnps-mega-list > li > a {
  min-height: 56px !important;
  padding: 8px 0 !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(14px, calc(13px + .16vw), 16px) !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
}

/* Section headings: always share the same centre line. */
.hnps-final-theme .hnps-distinctives .hnps-eyebrow,
.hnps-final-theme .hnps-distinctives .hnps-section-title,
.hnps-final-theme .hnps-distinctives .hnps-section-intro,
.hnps-final-theme .hnps-values-section .hnps-eyebrow,
.hnps-final-theme .hnps-values-section .hnps-section-title,
.hnps-final-theme .hnps-values-section .hnps-section-intro {
  width: 100% !important;
  max-width: none;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.hnps-final-theme .hnps-distinctives .hnps-section-intro,
.hnps-final-theme .hnps-values-section .hnps-section-intro {
  max-width: 760px !important;
}

/* Homepage rhythm: less empty vertical space while retaining clarity. */
.hnps-final-theme .hnps-distinctives {
  padding-top: 54px !important;
  padding-bottom: 60px !important;
}
.hnps-final-theme .hnps-distinctive-grid {
  margin-top: 30px !important;
}
.hnps-final-theme .hnps-distinctive-card {
  grid-template-rows: 126px minmax(40px, auto) 1fr !important;
  min-height: 292px !important;
  padding: 20px 18px 22px !important;
}
.hnps-final-theme .hnps-distinctive-illustration {
  height: 126px !important;
}
.hnps-final-theme .hnps-distinctive-illustration img {
  max-width: 172px !important;
  height: 118px !important;
}
.hnps-final-theme .hnps-distinctive-card h3 {
  min-height: 40px !important;
  margin-bottom: 7px !important;
  font-size: clamp(16px, 1.1vw, 18px) !important;
}
.hnps-final-theme .hnps-distinctive-card p {
  font-size: clamp(13px, .82vw, 14px) !important;
  line-height: 1.48 !important;
}

.hnps-final-theme .hnps-welcome-section {
  padding-top: 54px !important;
  padding-bottom: 60px !important;
}
.hnps-final-theme .hnps-welcome-panel {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 38px !important;
  max-width: 1120px !important;
  padding: 38px 46px !important;
}
.hnps-final-theme .hnps-headteacher-portrait,
.hnps-final-theme .hnps-headteacher-portrait img {
  width: 210px !important;
  height: 210px !important;
}
.hnps-final-theme .hnps-welcome-copy .hnps-section-title {
  font-size: clamp(32px, 2.6vw, 42px) !important;
}
.hnps-final-theme .hnps-welcome-copy .hnps-lead {
  margin-top: 14px !important;
  font-size: 17px !important;
  line-height: 1.58 !important;
}
.hnps-final-theme .hnps-welcome-copy > p:not(.hnps-eyebrow):not(.hnps-lead):not(.hnps-signature) {
  font-size: 16px !important;
  line-height: 1.58 !important;
}
.hnps-final-theme .hnps-signature {
  margin-top: 14px !important;
  margin-bottom: 16px !important;
}

.hnps-final-theme .hnps-values-section {
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}
.hnps-final-theme .hnps-values-grid {
  max-width: 960px !important;
  gap: 16px !important;
  margin-top: 30px !important;
}
.hnps-final-theme .hnps-value-card {
  grid-template-rows: 62px 28px 1fr !important;
  min-height: 188px !important;
  padding: 22px 20px !important;
}
.hnps-final-theme .hnps-value-symbol {
  width: 60px !important;
  height: 60px !important;
  font-size: 30px !important;
}
.hnps-final-theme .hnps-value-card h3 {
  font-size: 19px !important;
}
.hnps-final-theme .hnps-value-card p:last-child {
  margin-top: 8px !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}

.hnps-final-theme .hnps-journey-section {
  padding-bottom: 60px !important;
}
.hnps-final-theme .hnps-journey-panel {
  padding: 36px 42px !important;
}
.hnps-final-theme .hnps-journey-layout {
  grid-template-columns: minmax(280px, .9fr) minmax(0, 2.1fr) !important;
  gap: 34px !important;
}
.hnps-final-theme .hnps-journey-panel h2 {
  font-size: clamp(33px, 3vw, 44px) !important;
}
.hnps-final-theme .hnps-journey-card {
  min-height: 214px !important;
  padding: 22px 21px !important;
}

/* Footer: the complete brand statement sits between logo and link columns. */
.hnps-final-theme .hnps-footer-main {
  width: min(1280px, calc(100% - 40px));
  padding-top: 34px !important;
  padding-bottom: 30px !important;
}
.hnps-final-theme .hnps-footer-grid {
  grid-template-columns: minmax(500px, 1.75fr) repeat(3, minmax(135px, .62fr)) !important;
  gap: 30px !important;
}
.hnps-final-theme .hnps-footer-brand {
  grid-template-columns: 104px minmax(300px, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
}
.hnps-final-theme .hnps-footer-brand img {
  width: 104px !important;
  height: 104px !important;
}
.hnps-final-theme .hnps-footer-brand h2 {
  max-width: 390px;
  margin-bottom: 7px !important;
  font-size: clamp(20px, 1.35vw, 23px) !important;
  line-height: 1.12 !important;
}
.hnps-final-theme .hnps-footer-brand p {
  max-width: 43ch !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.hnps-final-theme .hnps-footer h3 {
  margin-top: 0 !important;
  font-size: 16px !important;
}
.hnps-final-theme .hnps-footer li {
  margin-bottom: 5px !important;
}

@media (max-width: 1180px) {
  .hnps-final-theme .hnps-footer-grid {
    grid-template-columns: minmax(420px, 1.45fr) repeat(2, minmax(145px, .75fr)) !important;
  }
  .hnps-final-theme .hnps-footer-grid > :last-child {
    grid-column: 2 / 4;
  }
}

@media (max-width: 860px) {
  .hnps-final-theme .hnps-mega-list > li,
  .hnps-final-theme .hnps-mega-list > li > a {
    min-height: 0 !important;
  }
  .hnps-final-theme .hnps-welcome-panel {
    grid-template-columns: 175px minmax(0, 1fr) !important;
    gap: 28px !important;
    padding: 32px !important;
  }
  .hnps-final-theme .hnps-headteacher-portrait,
  .hnps-final-theme .hnps-headteacher-portrait img {
    width: 170px !important;
    height: 170px !important;
  }
  .hnps-final-theme .hnps-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .hnps-final-theme .hnps-footer-brand {
    grid-column: 1 / -1;
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }
  .hnps-final-theme .hnps-footer-grid > :last-child {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .hnps-final-theme .hnps-distinctives,
  .hnps-final-theme .hnps-welcome-section,
  .hnps-final-theme .hnps-values-section {
    padding-top: 44px !important;
    padding-bottom: 48px !important;
  }
  .hnps-final-theme .hnps-welcome-panel {
    grid-template-columns: 1fr !important;
    padding: 28px 22px !important;
  }
  .hnps-final-theme .hnps-footer-brand {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }
  .hnps-final-theme .hnps-footer-brand img {
    width: 82px !important;
    height: 82px !important;
  }
}


/* ======================================================================
   Newlaithes Final 2026 Polished — masthead, footer and page-intro fix
   ====================================================================== */

/* Place utility links and search on one aligned row. */
.hnps-final-theme .hnps-masthead-inner {
  height: 88px !important;
  min-height: 88px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  align-items: center !important;
}
.hnps-final-theme .hnps-brand,
.hnps-final-theme .hnps-header-tools {
  align-self: center !important;
}
.hnps-final-theme .hnps-header-tools {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  min-width: 0 !important;
}
.hnps-final-theme .hnps-header-tools > .wp-block-shortcode {
  display: block !important;
  margin: 0 !important;
}
.hnps-final-theme .hnps-utility-links {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap;
}
.hnps-final-theme .hnps-header-search {
  position: relative;
  flex: 0 0 44px;
  width: 44px !important;
  margin: 0 !important;
  z-index: 4;
}
.hnps-final-theme .hnps-header-search input.wp-block-search__input {
  top: 0;
  right: 52px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(50,24,79,.14);
}

/* Footer brand stays horizontal on desktop, with socials below the strapline. */
.hnps-final-theme .hnps-footer-grid {
  grid-template-columns: minmax(500px, 1.65fr) repeat(3, minmax(145px, .7fr)) !important;
  gap: 34px !important;
}
.hnps-final-theme .hnps-footer-brand {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 22px !important;
  min-width: 0;
}
.hnps-final-theme .hnps-footer-brand > img {
  flex: 0 0 112px;
  width: 112px !important;
  height: 112px !important;
  margin: 0 !important;
}
.hnps-final-theme .hnps-footer-brand > div {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 4px;
}
.hnps-final-theme .hnps-footer-brand h2 {
  max-width: 420px !important;
  margin: 0 0 8px !important;
  font-size: clamp(20px, 1.45vw, 24px) !important;
  line-height: 1.14 !important;
}
.hnps-final-theme .hnps-footer-brand p {
  max-width: 44ch !important;
  margin: 0 !important;
}
.hnps-final-theme .hnps-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}
.hnps-final-theme .hnps-social-links a {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  color: #fff !important;
  text-decoration: none;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}
.hnps-final-theme .hnps-social-links a:hover,
.hnps-final-theme .hnps-social-links a:focus-visible {
  background: #fff;
  color: var(--hnps-plum-950) !important;
  transform: translateY(-2px);
  outline: none;
}
.hnps-final-theme .hnps-social-links svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Explicit page introductions only: no automatic excerpt duplication. */
.hnps-final-theme .hnps-page-excerpt {
  width: min(1240px, calc(100% - 40px));
  margin: 22px auto 0 !important;
}
.hnps-final-theme .hnps-page-excerpt p {
  max-width: 760px;
  margin: 0 auto !important;
  color: var(--hnps-muted);
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 1120px) {
  .hnps-final-theme .hnps-footer-grid {
    grid-template-columns: minmax(440px, 1.35fr) repeat(2, minmax(145px, .75fr)) !important;
  }
  .hnps-final-theme .hnps-footer-grid > :last-child { grid-column: 2 / 4; }
}

@media (max-width: 860px) {
  .hnps-final-theme .hnps-masthead-inner {
    height: 76px !important;
    min-height: 76px !important;
  }
  .hnps-final-theme .hnps-header-tools {
    display: block !important;
    min-width: 0 !important;
  }
  .hnps-final-theme .hnps-header-tools > .wp-block-shortcode,
  .hnps-final-theme .hnps-header-search { display: none !important; }
  .hnps-final-theme .hnps-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .hnps-final-theme .hnps-footer-brand {
    grid-column: 1 / -1;
    max-width: 650px;
  }
  .hnps-final-theme .hnps-footer-grid > :last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  .hnps-final-theme .hnps-footer-grid { grid-template-columns: 1fr !important; }
  .hnps-final-theme .hnps-footer-brand {
    display: grid !important;
    grid-template-columns: 82px minmax(0,1fr) !important;
    gap: 16px !important;
    grid-column: auto;
  }
  .hnps-final-theme .hnps-footer-brand > img {
    width: 82px !important;
    height: 82px !important;
  }
}

/* ======================================================================
   Newlaithes Final 2026 Complete — final alignment, portrait and map pass
   ====================================================================== */

/* One shared horizontal grid for masthead and primary navigation. */
.hnps-complete-theme .hnps-masthead-inner,
.hnps-complete-theme .hnps-primary-nav-wrap {
  width: min(1320px, 100%) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.hnps-complete-theme .hnps-primary-nav {
  justify-content: flex-start !important;
}
/* The logo and site title already provide an accessible home link. */
.hnps-complete-theme .hnps-primary-nav > .hnps-nav-item:first-child {
  display: none !important;
}
.hnps-complete-theme .hnps-primary-nav > .hnps-nav-item:nth-child(2) > .hnps-nav-link {
  padding-left: 0 !important;
}
.hnps-complete-theme .hnps-primary-nav > .hnps-nav-item:nth-child(2) > .hnps-nav-link::after {
  left: 0 !important;
}

/* Bring the portrait into the composition rather than centring it low in the panel. */
.hnps-complete-theme .hnps-welcome-panel {
  grid-template-columns: 290px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 48px !important;
}
.hnps-complete-theme .hnps-headteacher-portrait {
  width: 270px !important;
  max-width: 270px !important;
  margin: 50px auto 0 !important;
  align-self: start !important;
}
.hnps-complete-theme .hnps-headteacher-portrait img {
  width: 270px !important;
  height: 270px !important;
  object-position: center center !important;
}
.hnps-complete-theme .hnps-welcome-copy {
  align-self: start !important;
}

/* Replace the invented illustration with a real, meaningful local map. */
.hnps-complete-theme .hnps-map-panel {
  min-height: 430px !important;
  background: #eaf0e8 !important;
}
.hnps-complete-theme .hnps-map-embed {
  width: 100%;
  height: 430px;
  min-height: 430px;
  overflow: hidden;
}
.hnps-complete-theme .hnps-map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: saturate(.72) contrast(.96) brightness(1.03);
}

@media (max-width: 1100px) {
  .hnps-complete-theme .hnps-welcome-panel {
    grid-template-columns: 230px minmax(0, 1fr) !important;
    gap: 36px !important;
  }
  .hnps-complete-theme .hnps-headteacher-portrait {
    width: 220px !important;
    max-width: 220px !important;
    margin-top: 48px !important;
  }
  .hnps-complete-theme .hnps-headteacher-portrait img {
    width: 220px !important;
    height: 220px !important;
  }
}

@media (max-width: 860px) {
  .hnps-complete-theme .hnps-masthead-inner,
  .hnps-complete-theme .hnps-primary-nav-wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .hnps-complete-theme .hnps-primary-nav > .hnps-nav-item:first-child {
    display: none !important;
  }
  .hnps-complete-theme .hnps-primary-nav > .hnps-nav-item:nth-child(2) > .hnps-nav-link {
    padding-left: 4px !important;
  }
  .hnps-complete-theme .hnps-welcome-panel {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
  .hnps-complete-theme .hnps-headteacher-portrait {
    width: 210px !important;
    max-width: 210px !important;
    margin: 0 auto !important;
  }
  .hnps-complete-theme .hnps-headteacher-portrait img {
    width: 210px !important;
    height: 210px !important;
  }
  .hnps-complete-theme .hnps-map-embed,
  .hnps-complete-theme .hnps-map-panel {
    min-height: 440px !important;
    height: 440px;
  }
}

@media (max-width: 600px) {
  .hnps-complete-theme .hnps-headteacher-portrait {
    width: 185px !important;
    max-width: 185px !important;
  }
  .hnps-complete-theme .hnps-headteacher-portrait img {
    width: 185px !important;
    height: 185px !important;
  }
}

/* ======================================================================
   Newlaithes Final 2026 Ready — launch update
   ====================================================================== */

/* Brand typography: Montserrat is reserved for the masthead lock-up. */
.hnps-ready-theme .hnps-static-site-title,
.hnps-ready-theme .hnps-school-type {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
}
.hnps-ready-theme .hnps-static-site-title {
  margin: 0 !important;
  font-size: clamp(23px, 2.15vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}
.hnps-ready-theme .hnps-school-type {
  margin: 2px 0 0 !important;
  font-size: clamp(15px, 1.35vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.015em !important;
}
.hnps-ready-theme .hnps-static-site-title a,
.hnps-ready-theme .hnps-school-type a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Header controls sit on one stable baseline. */
.hnps-ready-theme .hnps-masthead-inner {
  min-height: 100px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.hnps-ready-theme .hnps-logo img {
  width: 82px !important;
  height: 82px !important;
}
.hnps-ready-theme .hnps-brand {
  align-items: center !important;
  gap: 14px !important;
  min-width: 0;
}
.hnps-ready-theme .hnps-brand-text { min-width: 0; }
.hnps-ready-theme .hnps-header-tools {
  position: relative;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
}
.hnps-ready-theme .hnps-header-tools > .wp-block-shortcode {
  margin: 0 !important;
}
.hnps-ready-theme .hnps-utility-links {
  min-height: 44px !important;
  padding: 0 !important;
  color: var(--hnps-plum-950);
  font-size: 13px;
  white-space: nowrap;
}
.hnps-ready-theme .hnps-utility-links a { color: var(--hnps-plum-950) !important; }
.hnps-ready-theme .hnps-language-toggle,
.hnps-ready-theme .hnps-header-search button.wp-block-search__button {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--hnps-plum-950) !important;
  color: #fff !important;
  cursor: pointer;
}
.hnps-ready-theme .hnps-language-toggle svg {
  width: 22px;
  height: 22px;
}
.hnps-ready-theme .hnps-language-tool { position: relative; }
.hnps-ready-theme .hnps-language-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  z-index: 2000;
  width: min(340px, calc(100vw - 32px));
  padding: 20px;
  border: 1px solid var(--hnps-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--hnps-shadow-md);
  color: var(--hnps-charcoal);
}
.hnps-ready-theme .hnps-language-panel label,
.hnps-ready-theme .hnps-language-panel select,
.hnps-ready-theme .hnps-language-panel button { display: block; width: 100%; }
.hnps-ready-theme .hnps-language-panel select {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid var(--hnps-line);
  border-radius: 8px;
  background: #fff;
}
.hnps-ready-theme .hnps-language-submit {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: var(--hnps-forest);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.hnps-ready-theme .hnps-language-panel p {
  margin: 10px 0 0 !important;
  color: var(--hnps-muted);
  font-size: 12px;
  line-height: 1.45;
}

/* The plugin no longer renders a Home item; never hide the first real section. */
.hnps-ready-theme .hnps-primary-nav > .hnps-nav-item:first-child {
  display: flex !important;
}
.hnps-ready-theme .hnps-primary-nav > .hnps-nav-item:first-child > .hnps-nav-link {
  padding-left: 0 !important;
}
.hnps-ready-theme .hnps-primary-nav > .hnps-nav-item:first-child > .hnps-nav-link::after {
  left: 0 !important;
}

/* Education cards lift with the same restraint as the values. */
.hnps-ready-theme .hnps-distinctive-card {
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hnps-ready-theme .hnps-distinctive-card:hover,
.hnps-ready-theme .hnps-distinctive-card:focus-within {
  transform: translateY(-5px);
  border-color: rgba(90,42,135,.22);
  box-shadow: 0 20px 42px rgba(50,24,79,.14);
}
.hnps-ready-theme .hnps-distinctive-link {
  color: var(--hnps-plum-950) !important;
  text-decoration: none !important;
}
.hnps-ready-theme .hnps-distinctive-link::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.hnps-ready-theme .hnps-distinctive-link:focus-visible::after {
  outline: 3px solid var(--hnps-forest);
  outline-offset: 3px;
}

/* Discover Newlaithes illustrations. */
.hnps-ready-theme .hnps-journey-icon {
  margin: 0 0 10px !important;
}
.hnps-ready-theme .hnps-journey-icon img {
  display: block;
  width: 92px;
  height: 64px;
  object-fit: contain;
}
.hnps-ready-theme .hnps-journey-card {
  display: flex !important;
  flex-direction: column;
}

/* Dynamic homepage components. */
.hnps-ready-theme .wp-block-newlaithes-events-preview,
.hnps-ready-theme .wp-block-newlaithes-contact-card {
  margin: 0;
}
.hnps-ready-theme .hnps-event-list > p:last-child {
  margin-top: 18px;
  font-size: 14px;
  font-weight: 700;
}
.hnps-ready-theme .hnps-map-card {
  z-index: 4;
}

/* Cookie preferences. */
.hnps-ready-theme .hnps-cookie-settings-link {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.hnps-cookie-consent {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
}
.hnps-cookie-consent[hidden] { display: none !important; }
.hnps-cookie-consent-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px 28px;
  align-items: center;
  background: var(--hnps-plum-950);
  color: #fff;
  box-shadow: 0 24px 65px rgba(25,10,40,.32);
}
.hnps-cookie-consent h2 { margin: 0 0 5px; color: #fff; font-size: 20px; }
.hnps-cookie-consent p { margin: 0 !important; color: rgba(255,255,255,.84); font-size: 14px; }
.hnps-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.hnps-cookie-actions button,
.hnps-cookie-save {
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.hnps-cookie-accept,
.hnps-cookie-save { background: var(--hnps-forest) !important; border-color: var(--hnps-forest) !important; }
.hnps-cookie-options {
  grid-column: 1 / -1;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.hnps-cookie-options[hidden] { display: none !important; }
.hnps-cookie-option {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 10px 0;
}
.hnps-cookie-option span:first-child { display: grid; gap: 2px; }
.hnps-cookie-option small { color: rgba(255,255,255,.72); }
.hnps-cookie-option input { width: 22px; height: 22px; }

@media (prefers-reduced-motion: reduce) {
  .hnps-ready-theme .hnps-distinctive-card { transition: none; }
  .hnps-ready-theme .hnps-distinctive-card:hover,
  .hnps-ready-theme .hnps-distinctive-card:focus-within { transform: none; }
}

@media (max-width: 980px) {
  .hnps-ready-theme .hnps-utility-links { display: none; }
  .hnps-ready-theme .hnps-masthead-inner { min-height: 82px !important; }
  .hnps-ready-theme .hnps-logo img { width: 66px !important; height: 66px !important; }
  .hnps-ready-theme .hnps-static-site-title { font-size: 21px !important; }
  .hnps-ready-theme .hnps-school-type { font-size: 14px !important; }
}

@media (max-width: 860px) {
  .hnps-ready-theme .hnps-header-tools {
    display: flex !important;
    min-width: auto !important;
  }
  .hnps-ready-theme .hnps-header-tools > .wp-block-shortcode { display: none !important; }
  .hnps-ready-theme .hnps-header-tools > .wp-block-shortcode:nth-child(2) { display: block !important; }
  .hnps-ready-theme .hnps-header-search { display: none !important; }
  .hnps-ready-theme .hnps-primary-nav > .hnps-nav-item:first-child { display: block !important; }
  .hnps-cookie-consent-inner { grid-template-columns: 1fr; }
  .hnps-cookie-actions { justify-content: flex-start; }
}

@media (max-width: 600px) {
  .hnps-ready-theme .hnps-brand { gap: 9px !important; }
  .hnps-ready-theme .hnps-logo img { width: 58px !important; height: 58px !important; }
  .hnps-ready-theme .hnps-static-site-title { font-size: 17px !important; }
  .hnps-ready-theme .hnps-school-type { font-size: 12px !important; }
  .hnps-ready-theme .hnps-language-toggle { width: 40px !important; height: 40px !important; flex-basis: 40px; }
  .hnps-cookie-consent { left: 8px; right: 8px; bottom: 8px; }
  .hnps-cookie-consent-inner { padding: 17px; border-radius: 14px; }
  .hnps-cookie-actions { display: grid; grid-template-columns: 1fr; }
  .hnps-cookie-actions button { width: 100%; }
  .hnps-cookie-option { align-items: flex-start; }
}


/* ======================================================================
   Newlaithes Final 2026 Aligned — unified header controls
   ====================================================================== */
.hnps-aligned-theme .hnps-header-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}
.hnps-aligned-theme .hnps-header-tools > .wp-block-shortcode {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.hnps-aligned-theme .hnps-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  height: 44px;
  margin: 0;
  line-height: 1;
}
.hnps-aligned-theme .hnps-language-tool,
.hnps-aligned-theme .hnps-header-search {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  min-width: 44px;
  height: 44px !important;
  min-height: 44px;
  flex: 0 0 44px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  align-self: center;
}
.hnps-aligned-theme .hnps-language-toggle,
.hnps-aligned-theme .hnps-header-search > button {
  position: relative;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--hnps-plum-950) !important;
  color: #fff !important;
  line-height: 0 !important;
  vertical-align: middle;
  cursor: pointer;
}
.hnps-aligned-theme .hnps-language-toggle svg,
.hnps-aligned-theme .hnps-header-search > button svg {
  display: block;
  width: 22px;
  height: 22px;
  margin: 0;
}
.hnps-aligned-theme .hnps-header-search > input[type="search"] {
  position: absolute !important;
  top: 50%;
  right: 52px;
  width: 0 !important;
  height: 44px !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  border: 1px solid rgba(50,24,79,.2);
  border-radius: 999px;
  background: #fff;
  color: var(--hnps-charcoal);
  box-shadow: 0 8px 24px rgba(50,24,79,.12);
  transition: width .18s ease, opacity .14s ease, padding .18s ease;
}
.hnps-aligned-theme .hnps-header-search.is-open > input[type="search"] {
  width: min(360px, 34vw) !important;
  padding: 0 16px !important;
  opacity: 1;
  pointer-events: auto;
}
.hnps-aligned-theme .hnps-header-search > input[type="search"]:focus {
  outline: 3px solid rgba(40,116,58,.32);
  outline-offset: 2px;
}
@media (max-width: 860px) {
  .hnps-aligned-theme .hnps-header-tools > .wp-block-shortcode:first-child { display: none !important; }
  .hnps-aligned-theme .hnps-header-actions { height: 40px; }
  .hnps-aligned-theme .hnps-language-tool,
  .hnps-aligned-theme .hnps-language-toggle { width: 40px !important; height: 40px !important; min-width: 40px; min-height: 40px; flex-basis: 40px; }
  .hnps-aligned-theme .hnps-header-search { display: none !important; }
}

/* ======================================================================
   Newlaithes Final 2026 Featured — optional photographic page banners
   and stable headteacher alignment
   ====================================================================== */

/* Dynamic internal-page banner. */
.hnps-featured-theme .hnps-page-hero {
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(105deg, var(--hnps-cream-light) 0%, var(--hnps-lilac-pale) 100%);
}
.hnps-featured-theme .hnps-page-hero-inner {
  width: min(1240px, calc(100% - 40px));
  min-height: 220px;
  margin: 0 auto;
  display: grid;
  align-items: stretch;
}
.hnps-featured-theme .hnps-page-hero--plain .hnps-page-hero-inner {
  grid-template-columns: 1fr;
}
.hnps-featured-theme .hnps-page-hero--with-image .hnps-page-hero-inner {
  grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
}
.hnps-featured-theme .hnps-page-hero-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 48px 44px 48px 0;
  align-self: center;
}
.hnps-featured-theme .hnps-page-hero-copy .hnps-breadcrumbs,
.hnps-featured-theme .hnps-page-hero-copy nav {
  margin-bottom: 14px;
}
.hnps-featured-theme .hnps-page-hero-copy h1 {
  max-width: 18ch;
  margin: 0;
  color: var(--hnps-plum-950);
  font-family: Raleway, Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.06;
  letter-spacing: -.035em;
}
.hnps-featured-theme .hnps-page-hero-excerpt {
  max-width: 62ch;
  margin: 18px 0 0;
  color: var(--hnps-muted);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.55;
}
.hnps-featured-theme .hnps-page-hero-media {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
}
.hnps-featured-theme .hnps-page-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, var(--hnps-cream-light) 0%, rgba(252,250,246,.78) 10%, rgba(252,250,246,0) 42%);
  pointer-events: none;
}
.hnps-featured-theme .hnps-page-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  object-position: center;
}

/* The portrait aligns with the principal heading rather than sitting low in the panel. */
.hnps-featured-theme .hnps-welcome-panel {
  display: grid !important;
  grid-template-columns: 290px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 48px !important;
}
.hnps-featured-theme .hnps-headteacher-portrait {
  width: 270px !important;
  max-width: 270px !important;
  margin: 30px auto 0 !important;
  align-self: start !important;
}
.hnps-featured-theme .hnps-headteacher-portrait img {
  width: 270px !important;
  height: 270px !important;
  object-position: center center !important;
}
.hnps-featured-theme .hnps-welcome-copy {
  align-self: start !important;
}

@media (max-width: 980px) {
  .hnps-featured-theme .hnps-page-hero--with-image .hnps-page-hero-inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  }
  .hnps-featured-theme .hnps-page-hero-copy { padding-right: 28px; }
  .hnps-featured-theme .hnps-welcome-panel {
    grid-template-columns: 230px minmax(0, 1fr) !important;
    gap: 34px !important;
  }
  .hnps-featured-theme .hnps-headteacher-portrait {
    width: 220px !important;
    max-width: 220px !important;
    margin-top: 26px !important;
  }
  .hnps-featured-theme .hnps-headteacher-portrait img {
    width: 220px !important;
    height: 220px !important;
  }
}

@media (max-width: 760px) {
  .hnps-featured-theme .hnps-page-hero-inner {
    width: 100%;
  }
  .hnps-featured-theme .hnps-page-hero--with-image .hnps-page-hero-inner {
    grid-template-columns: 1fr;
  }
  .hnps-featured-theme .hnps-page-hero-copy {
    width: calc(100% - 36px);
    margin: 0 auto;
    padding: 36px 0 30px;
  }
  .hnps-featured-theme .hnps-page-hero-copy h1 { max-width: none; }
  .hnps-featured-theme .hnps-page-hero-media {
    min-height: 220px;
    max-height: 300px;
  }
  .hnps-featured-theme .hnps-page-hero-media::before {
    background: linear-gradient(180deg, var(--hnps-cream-light) 0%, rgba(252,250,246,0) 28%);
  }
  .hnps-featured-theme .hnps-page-hero-image {
    min-height: 220px;
    max-height: 300px;
  }
  .hnps-featured-theme .hnps-welcome-panel {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center;
  }
  .hnps-featured-theme .hnps-headteacher-portrait {
    width: 205px !important;
    max-width: 205px !important;
    margin: 0 auto !important;
  }
  .hnps-featured-theme .hnps-headteacher-portrait img {
    width: 205px !important;
    height: 205px !important;
  }
  .hnps-featured-theme .hnps-welcome-copy .wp-block-buttons { justify-content: center; }
}

/* ======================================================================
   Full-width photographic internal-page hero
   ====================================================================== */
.hnps-photo-hero-theme .hnps-page-hero--with-image {
  position: relative;
  min-height: 380px;
  padding: 0 !important;
  overflow: hidden;
  isolation: isolate;
  background: var(--hnps-plum-950);
}
.hnps-photo-hero-theme .hnps-page-hero--with-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,
      rgba(33, 13, 52, .92) 0%,
      rgba(50, 24, 79, .78) 34%,
      rgba(50, 24, 79, .38) 64%,
      rgba(25, 10, 40, .18) 100%),
    linear-gradient(0deg, rgba(20, 8, 31, .28), rgba(20, 8, 31, .04) 62%);
  pointer-events: none;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-inner {
  position: relative;
  width: 100% !important;
  min-height: 380px;
  margin: 0;
  display: block;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-media::before {
  display: none;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  object-position: center 45%;
  filter: saturate(.96) contrast(1.02);
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 48px));
  min-height: 380px;
  margin: 0 auto;
  padding: 64px 0 48px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-self: auto;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy .hnps-breadcrumbs,
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy nav {
  margin: 0 0 14px;
  color: rgba(255,255,255,.86);
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy .hnps-breadcrumbs a,
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy nav a,
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy .hnps-breadcrumbs span,
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy nav span {
  color: inherit !important;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy h1 {
  max-width: 18ch;
  margin: 0;
  color: #fff;
  text-shadow: 0 2px 18px rgba(19,7,29,.28);
  font-size: clamp(38px, 4.5vw, 62px);
  line-height: 1.02;
}
.hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-excerpt {
  max-width: 64ch;
  margin: 18px 0 0;
  color: rgba(255,255,255,.92);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.55;
  text-shadow: 0 1px 12px rgba(19,7,29,.22);
}

@media (max-width: 760px) {
  .hnps-photo-hero-theme .hnps-page-hero--with-image,
  .hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-inner,
  .hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy {
    min-height: 300px;
  }
  .hnps-photo-hero-theme .hnps-page-hero--with-image::after {
    background:
      linear-gradient(90deg, rgba(33,13,52,.88), rgba(50,24,79,.62)),
      linear-gradient(0deg, rgba(20,8,31,.34), rgba(20,8,31,.08));
  }
  .hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-image {
    min-height: 300px;
    object-position: center center;
  }
  .hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy {
    width: calc(100% - 36px);
    padding: 42px 0 34px;
  }
  .hnps-photo-hero-theme .hnps-page-hero--with-image .hnps-page-hero-copy h1 {
    max-width: 15ch;
    font-size: clamp(34px, 10vw, 46px);
  }
}

/* Events system — completed in theme version 2.3.0 */
.hnps-event-row-content{min-width:0}.hnps-event-row h3 a{color:var(--hnps-plum-950);text-decoration:none}.hnps-event-row h3 a:hover{text-decoration:underline}.hnps-events-more{margin-top:16px!important}.hnps-events-more a{color:var(--hnps-forest);font-weight:700}.hnps-calendar-navigation{display:flex;align-items:center;gap:18px}.hnps-calendar-navigation h2{min-width:190px;margin:0;text-align:center;font-size:26px}.hnps-calendar-nav,.hnps-calendar-subscribe{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border:2px solid var(--hnps-plum-950);border-radius:999px;color:var(--hnps-plum-950)!important;font-size:13px;font-weight:700;text-decoration:none}.hnps-calendar-nav:hover,.hnps-calendar-subscribe:hover{background:var(--hnps-plum-950);color:#fff!important}.hnps-calendar-weekday{padding:10px;border-right:1px solid var(--hnps-line);border-bottom:1px solid var(--hnps-line);background:var(--hnps-plum-950);color:#fff;font-size:12px;font-weight:700;text-align:center}.hnps-calendar-weekday:nth-child(7){border-right:0}.hnps-calendar-event span{display:block;color:var(--hnps-forest);font-size:10px}.hnps-single-event-details{display:flex;flex-wrap:wrap;gap:12px 28px;max-width:1320px;margin:22px auto 0;padding:0}.hnps-single-event-details>div{display:grid;grid-template-columns:auto 1fr;gap:7px}.hnps-single-event-details dt{color:var(--hnps-forest);font-size:13px;font-weight:700}.hnps-single-event-details dd{margin:0;color:var(--hnps-charcoal);font-size:14px;font-weight:600}@media(max-width:700px){.hnps-calendar-tools,.hnps-calendar-navigation{align-items:stretch;flex-direction:column}.hnps-calendar-navigation h2{order:-1;min-width:0}.hnps-calendar-nav,.hnps-calendar-subscribe{width:100%}.hnps-calendar-weekday{display:none}.hnps-calendar-day.is-outside{display:none}.hnps-calendar-day{padding:14px}.hnps-calendar-number:before{content:attr(datetime);display:none}.hnps-single-event-details{display:grid;gap:8px}.hnps-single-event-details>div{grid-template-columns:72px 1fr}}

.hnps-calendar-subscription{display:flex;align-items:flex-end;flex-direction:column;gap:8px;max-width:min(100%,430px)}
.hnps-calendar-feed-help{width:100%;font-size:12px;text-align:right}
.hnps-calendar-feed-help summary{cursor:pointer;color:var(--hnps-muted);font-weight:700}
.hnps-calendar-feed-help p{margin:8px 0 6px;color:var(--hnps-muted);line-height:1.45}
.hnps-calendar-feed-help input{width:100%;padding:8px 10px;border:1px solid var(--hnps-line);border-radius:8px;background:#fff;color:var(--hnps-charcoal);font-size:11px}
@media(max-width:700px){.hnps-calendar-subscription{align-items:stretch;max-width:none;width:100%}.hnps-calendar-feed-help{text-align:left}}
