/*
Theme Name: Newpark Community
Template: lift-community
Version: 0.7.1
*/
:root {
    --np-ink:var(--wp--preset--color--forest);
    --np-sand:var(--wp--preset--color--sand)}
body {
    background:#fff;
    color:var(--np-ink);
    font-family:Arial,sans-serif}
.np-header {
    max-width:1240px;
    margin:auto;
    padding:15px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px}
.np-header .wp-block-navigation {
    font-size:13px}
.np-hero {
    position:relative;
    max-width:1440px;
    margin:auto;
    min-height:650px;
    background:#213d43;
    display:grid;
    grid-template-columns:44% 56%;
    overflow:hidden}
.np-hero-copy {
    padding:100px 55px;
    color:#fff;
    align-self:center}
.np-hero-copy h1 {
    font-size:clamp(44px,4.5vw,68px);
    line-height:1.06;
    letter-spacing:-2px;
    color:#fff}
.np-hero-copy p:first-child,.np-page-intro p {
    font-size:11px;
    letter-spacing:3px;
    font-weight:700}
.np-hero-copy p {
    line-height:1.7;
    color:#e0e9e7}
.np-hero>.wp-block-image {
    margin:0;
    height:100%}
.np-hero>.wp-block-image img {
    width:100%;
    height:100%;
    object-fit:cover}
.np-section,.np-grid,.np-band,.np-content,.np-page-intro {
    max-width:1160px;
    margin:0 auto;
    padding:40px 35px}
.np-section h2,.np-band h2 {
    font-size:36px;
    line-height:1.2;
    max-width:760px}
.np-section p {
    max-width:760px;
    font-size:18px;
    line-height:1.7}
.np-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    padding-top:0}
.np-card {
    background:var(--np-sand);
    padding:0 0 25px}
.np-card figure {
    margin:0}
.np-card img {
    width:100%;
    height:240px;
    object-fit:cover}
.np-card h3,.np-card p {
    margin:22px 25px}
.np-card h3 {
    font-size:24px}
.np-card p {
    font-size:15px;
    line-height:1.7}
.np-band {
    background:var(--np-sand)}
.wp-block-button__link {
    background:#b7c6ad;
    color:#183338;
    border-radius:3px;
    padding:15px 23px;
    font-weight:700;
    font-size:14px}
.np-page-intro {
    background:var(--np-sand);
    max-width:none;
    padding-left:max(35px,calc((100vw - 1090px)/2));
    padding-right:35px}
.np-page-intro h1 {
    font-size:clamp(34px,4vw,50px);
    max-width:900px;
    line-height:1.12}
.np-content {
    max-width:1160px}
.np-content :where(p),.np-content :where(li) {
    font-size:16px;
    line-height:1.7}
.np-content :where(h2) {
    font-size:30px;
    margin-top:32px}
.np-content :where(h3) {
    margin-top:24px}
.np-content :where(figure) {
    margin:24px 0}
.np-content :where(img) {
    max-width:100%;
    max-height:650px;
    object-fit:contain}
.np-content :where(details) {
    padding:20px 0;
    border-bottom:1px solid #d8dedb}
.np-content :where(summary) {
    font-size:19px;
    font-weight:bold;
    cursor:pointer}
.np-footer {
    background:#213d43;
    color:#e4ebe7;
    padding:30px max(35px,calc((100vw - 1090px)/2));
    margin-top:0}
.np-footer h3,.np-footer a {
    color:#fff}
.np-footer p {
    font-size:14px}
.np-footer p:last-child {
    opacity:.6;
    font-size:12px}
a {
    color:inherit}
@media(max-width:781px) {
    .np-header {
    padding:20px}
.np-hero {
    display:flex;
    flex-direction:column;
    min-height:0}
.np-hero-copy {
    padding:55px 28px}
.np-hero>.wp-block-image {
    height:340px;
    order:-1}
.np-hero-copy h1 {
    font-size:46px}
.np-grid {
    grid-template-columns:1fr;
    padding:25px}
.np-section,.np-band,.np-content {
    padding:28px 25px}
.np-page-intro {
    padding:28px 25px}
.np-header .wp-block-navigation {
    margin-left:auto}
}


/* Newpark editorial pages and brand placement. Shared plan cards are in Lift Community. */
.np-residences-content {
    max-width:1160px}

.np-residences-content>.wp-block-image:first-of-type img {
    width:100%;
    height:280px;
    object-fit:cover}

.np-brand .wp-block-site-logo {
    line-height:0}

.np-brand .wp-block-site-logo img {
    width:210px;
    height:auto;
    max-width:100%;
    display:block}

.np-header .np-brand {
    flex-shrink:0}

.np-footer-logo {
    display:inline-block;
    background:var(--wp--preset--color--sand);
    padding:14px 18px;
    border-radius:3px;
    margin-bottom:12px}

.np-footer-logo img {
    display:block;
    width:220px;
    height:auto;
    max-width:100%}

@media(max-width:781px) {
    .np-residences-content>.wp-block-image:first-of-type img {
    height:240px}
}

@media(max-width:781px) {
    .np-brand .wp-block-site-logo img {
    width:190px}
.np-footer-logo {
    max-width:calc(100% - 44px)}
}


/* Compact homepage: full-photo hero, concise highlights and aligned actions. */


.home .wp-block-post-content > :is(.np-home-hero,.np-home-facts,.np-home-highlights,.np-home-residents) { margin-block: 0; }
.np-home-hero > .wp-block-image img { object-position: 50% 52%; }
.np-home-hero-copy { margin: 0; }
.np-home-hero-copy h1 { max-width: 650px; font-size: clamp(42px,5vw,64px); line-height: 1.06; letter-spacing: -.035em; margin: 16px 0 20px; color: #fff; }
.np-home-hero-copy > p:first-child { font-size: 11px; font-weight: 700; letter-spacing: 2px; color: #fff; }
.np-home-hero-copy > p { max-width: 530px; font-size: 17px; line-height: 1.65; color: #fff; }
.np-home-hero-copy .wp-block-buttons { margin-top: 24px; }
.np-home-hero-copy > p:last-child { font-size: 14px; margin-top: 16px; }
.np-home-hero-copy > p:last-child a { color: #fff; text-decoration: none; border-bottom: 1px solid #ffffff80; padding-bottom: 3px; }
.np-home-facts { display: flex; align-items: center; justify-content: center; gap: 0; background: var(--np-sand); padding: 14px 25px; }
.np-home-facts p { margin: 0; padding: 0 36px; line-height: 1.4; font-size: 14px; }
.np-home-facts p + p { border-left: 1px solid #cdd2c7; }
.np-home-facts strong { font-size: 22px; font-weight: 500; margin-right: 6px; }
.np-home-highlights { max-width: 1160px; padding: 40px 35px; margin-inline: auto; }
.np-home-highlights > h2 { font-size: clamp(28px,3vw,36px); line-height: 1.15; margin: 0 0 28px; }
.np-home-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.np-home-cards > .np-home-card { margin: 0; display: flex; flex-direction: column; min-width: 0; background: var(--np-sand); }
.np-home-card > figure { margin: 0; }
.np-home-card > figure img { display: block; width: 100%; height: 200px; object-fit: cover; }
.np-home-card-plan > figure img { object-fit: contain; padding: 12px; background: #fff; border: 1px solid var(--np-sand); }
.np-home-card-copy { flex: 1; display: flex; flex-direction: column; padding: 22px 24px; margin: 0; }
.np-home-card-copy h3 { font-size: 25px; line-height: 1.2; margin: 0 0 14px; }
.np-home-card-copy p { font-size: 15px; line-height: 1.65; margin: 0; }
.np-home-card-copy > p:last-child { margin-top: auto; padding-top: 20px; font-size: 13px; font-weight: 700; }
.np-home-residents { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 28px 35px; max-width: 1090px; margin-inline: auto; border-top: 1px solid #d6dcd4; }
.np-home-resident-copy { margin: 0; }
.np-home-resident-copy h2 { font-size: 28px; line-height: 1.2; margin: 0 0 8px; }
.np-home-resident-copy p { font-size: 15px; margin: 0; }
.np-home-residents > .wp-block-buttons { flex-shrink: 0; margin: 0; }



.home .np-footer p { margin-top: 12px; }
@media (max-width:781px) {
 .home .np-header { padding: 14px 22px; }
 .home .np-brand .wp-block-site-logo img { width: 190px; }
 .np-home-hero > .wp-block-image img { object-position: 58% 50%; }
 .np-home-hero-copy h1 { font-size: clamp(40px,10vw,48px); }
 .np-home-hero-copy > p { font-size: 16px; }
 .np-home-hero-copy > p:first-child { font-size: 9px; letter-spacing: 1.5px; }
 .np-home-facts { padding: 14px 10px; }
 .np-home-facts p { padding: 0 16px; font-size: 11px; text-align: center; }
 .np-home-facts strong { display: block; font-size: 22px; margin: 0 0 2px; }
 .np-home-highlights { padding: 28px 25px; }
 .np-home-highlights > h2 { margin-bottom: 22px; }
 .np-home-cards { grid-template-columns: 1fr; gap: 22px; }
 .np-home-card > figure img { height: 200px; }
 .np-home-card-copy { padding: 22px; }
 .np-home-residents { margin-inline: 25px; padding: 24px 0 28px; flex-direction: column; align-items: flex-start; gap: 20px; }
 .np-home-resident-copy h2 { font-size: 26px; }
}

/* Compact interior pages: shared rhythm with the homepage. */
.np-content > p:first-child { font-size: 17px; line-height: 1.65; max-width: 900px; }
.np-content :where(h3) { font-size: 24px; line-height: 1.25; margin-bottom: 12px; }

.np-community-facts { margin: 24px 0 28px; border-radius: 3px; }
.np-community-grid,.np-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.np-community-grid > .np-community-card { margin: 0; display: flex; flex-direction: column; background: var(--np-sand); }
.np-community-card > figure { margin: 0; }
.np-community-card > figure img { display: block; height: 200px; width: 100%; object-fit: cover; }
.np-community-card-copy { display: flex; flex-direction: column; flex: 1; padding: 22px; margin: 0; }
.np-community-card-copy :is(h2,h3) { font-size: 24px; margin: 0 0 14px; min-height: 3.75em; }
.np-community-card-copy p { margin: 0; font-size: 15px; line-height: 1.65; }
.np-community-card-copy > p:has(a):last-child { margin-top: auto; padding-top: 18px; font-size: 13px; font-weight: 700; }
.np-page-callout { margin: 28px 0 0; padding: 24px; background: var(--np-sand); }
.np-photo-callout { display: grid; grid-template-columns: 28% 1fr; gap: 28px; align-items: center; }
.np-photo-callout > figure { margin: 0; }
.np-photo-callout > figure img { width: 100%; height: 160px; object-fit: cover; display: block; }
.np-callout-copy { margin: 0; }
.np-callout-copy h2 { margin: 0 0 12px; font-size: 28px; }
.np-callout-copy p { margin: 10px 0 0; }
.np-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 24px 0 28px; }
.np-gallery-grid > figure { margin: 0; }
.np-gallery-grid a { display: block; }
.np-gallery-grid img { display: block; width: 100%; height: 270px; object-fit: cover; border-radius: 3px; }
.np-news-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
.np-news-grid > .np-news-card { margin: 0; padding: 24px; background: var(--np-sand); border-radius: 3px; min-width: 0; }
.np-news-grid > .np-news-with-image { display: grid; grid-template-columns: 2fr 1fr; gap: 28px; align-items: center; }
.np-news-copy,.np-news-media { margin: 0; min-width: 0; }
.np-news-copy h2 { margin: 0 0 14px; font-size: 26px; line-height: 1.2; }
.np-news-copy p { font-size: 15px; line-height: 1.65; margin: 0 0 14px; }
.np-news-copy > p:last-child { margin-bottom: 0; font-size: 13px; font-weight: 700; }
.np-news-media figure { margin: 0; }
.np-news-media img { display: block; width: 100%; height: 180px; object-fit: contain; background: #fff; padding: 10px; }
.np-news-media p { font-size: 11px; color: var(--wp--preset--color--muted); margin-bottom: 0; line-height: 1.5; }
.np-guide-row { gap: 28px; padding: 24px 0; margin: 0; border-bottom: 1px solid #d6dcd4; align-items: flex-start; }
.np-guide-row figure { margin: 0; }
.np-guide-row figure img { display: block; width: 100%; height: 260px; object-fit: cover; border-radius: 3px; }
.np-guide-row h2,.np-guide-section h2 { margin-top: 0; font-size: 28px; }
.np-guide-row li,.np-guide-section li { margin-bottom: 10px; }
.np-guide-section { padding: 24px; margin: 24px 0 0; background: var(--np-sand); border-radius: 3px; }
.np-location-content,.np-homeowners-content { max-width: 1160px; }
.np-location-section { padding: 24px 0; margin: 0; border-bottom: 1px solid #d6dcd4; }
.np-location-section h2 { margin-top: 0; }
.np-location-section figure img { display: block; width: 100%; height: 280px; object-fit: cover; }
.np-location-section:last-child { padding: 24px; margin-top: 24px; background: var(--np-sand); border: 0; }
.np-content > details,.np-location-section > details { margin: 12px 0; padding: 16px 18px; border: 1px solid #d6dcd4; background: var(--np-sand); border-radius: 3px; }
.np-content details details { padding: 12px; margin: 10px 0; background: #fff; }
.np-content details[open] > summary { margin-bottom: 12px; }
.np-content summary { font-size: 17px; line-height: 1.45; }
.np-management { margin-top: 28px; }
.np-contact-grid { margin: 20px 0; }
.np-contact-grid > .np-contact-card { margin: 0; padding: 20px; background: var(--np-sand); min-width: 0; }
.np-contact-card h3 { margin: 0 0 14px; font-size: 22px; }
.np-contact-card p { font-size: 14px; overflow-wrap: anywhere; }
.np-content > p:has(a[href^="#floor-plans"]) { font-size: 13px; margin-bottom: 24px; }
.np-residences-content .np-plan-row,.np-residences-content .is-style-lift-floor-plan { margin: 24px 0; }
.np-footer p { margin-top: 12px; }
@media(max-width:781px) {
 .np-community-grid,.np-contact-grid,.np-news-grid,.np-gallery-grid { grid-template-columns: 1fr; gap: 20px; }
 .np-community-card-copy :is(h2,h3) { min-height: 0; }
 .np-news-grid > .np-news-with-image { grid-template-columns: 1fr; gap: 20px; }
 .np-guide-row { gap: 20px; }
 .np-guide-row figure img { height: 220px; }
 .np-photo-callout { grid-template-columns: 1fr; gap: 18px; }
 .np-photo-callout > figure img { height: 180px; }
}
@media(max-width:781px) {
 .np-header { padding: 14px 22px; }
 .np-page-intro { padding-inline: 25px; }
 .np-page-intro h1 { font-size: clamp(32px,8.5vw,40px); }
 .np-content { padding-inline: 25px; }
 
 .np-content :where(h2) { font-size: 27px; margin-top: 28px; }
 .np-community-facts p { padding-inline: 14px; }
 .np-gallery-grid img { height: 230px; }
 .np-news-copy h2 { font-size: 25px; margin-top: 0; }
 .np-news-grid > .np-news-card { padding: 22px; }
 .np-guide-row h2,.np-guide-section h2,.np-location-section h2 { margin-top: 0; }
 .np-guide-section { padding: 20px; }
 
}

/* Avoid doubling section padding at the start of a page. */
.np-living-guide-content > .np-guide-row:first-child { padding-top: 0; }
.np-management > h2 { margin-top: 0; }

/* Shared native dropdown header, with homeowner utility link and listings action. */
.np-site-header .header-links { min-width: 0; }
.np-site-header .np-header { width: 100%; }
.np-site-header .wp-block-navigation-item__content { white-space: nowrap; }
.np-site-header .nav-cta > a { border-radius: 3px; }
@media(max-width:1100px) {
 .np-site-header .header-links { margin-left: auto; }
 .np-site-header .is-menu-open .wp-block-navigation-item__content { white-space: normal; }
 .np-site-header .is-menu-open .wp-block-navigation__submenu-container { width: 100%; }
}

.np-site-header { position: relative; z-index: 20; }

/* Compact homepage footer; shared interior footer remains unchanged. */
.home .np-footer-logo { padding: 10px 14px; margin-bottom: 4px; }

/* Newpark-specific density and image crops; shared rhythm is in Lift Community. */
.np-home-hero { padding-inline: max(35px,calc((100vw - 1090px)/2)); }
.np-community-grid,.np-contact-grid { gap: 20px; }
.np-community-card > figure img { height: 185px; }
.np-community-card-copy { padding: 20px; }
.np-community-card-copy :is(h2,h3) { min-height: 0; }
.np-guide-row { padding-block: 20px; gap: 24px; }
.np-guide-row figure img { height: 230px; }
.np-location-section { padding-block: 20px; }
.np-location-section figure img { height: 250px; }
.np-news-grid > .np-news-card { padding: 20px; }
.np-footer-logo { padding: 10px 14px; }
@media(max-width:781px) {
 .np-home-hero { padding-inline: 25px; }
 .np-guide-row figure img { height: 210px; }
 .np-location-section figure img { height: 210px; }
}

/* Transparent white brand treatment belongs only to Newpark's dark footer. */
.np-footer .np-footer-logo { background: transparent; padding: 0; border-radius: 0; margin: 0 0 12px; line-height: 0; }
.np-footer .np-footer-logo img { width: 210px; height: auto; filter: brightness(0) invert(1); }
.np-footer .np-footer-logo a { display: inline-block; }

/* Newpark branding on the reusable footer composition. */
.np-footer .lift-footer-columns p { opacity: 1; font-size: 14px; }
.np-footer .lift-footer-bottom { border-color: #ffffff30; }
.np-footer .lift-footer-bottom p { opacity: .75; font-size: 12px; }
.np-footer .lift-footer-columns .np-footer-logo { margin-bottom: 16px; }

/* Shared page edges, including the footer, line up at the native mobile breakpoint. */
@media(max-width:781px) {
 .np-footer { padding-inline: 25px; }
}
