/* ks-nb.css — Neighborhood + search page template look (Neighborhood_Pages_Template_v5), scoped to body.ks-nb.
   Pass 4, 2026-10-18 (was part of the inline ks-theme-layer). Low-weight defaults: no !important, so the blocks'
   own settings win. Loaded only on those 35 pages (+ the Neighborhoods parent) and in the editor. */

body.ks-nb{--ink:var(--wp--preset--color--nb-ink);--muted:var(--wp--preset--color--nb-muted);--paper:var(--wp--preset--color--nb-paper);--line:var(--wp--preset--color--nb-line);--gold:var(--wp--preset--color--nb-gold);--dark:var(--wp--preset--color--nb-dark);--nbserif:var(--wp--preset--font-family--cormorant-garamond);--nbsans:var(--wp--preset--font-family--inter);
  --ks-body-font:var(--nbsans);--ks-body-color:var(--ink);--ks-body-line-height:1.72;
  --ks-button-font:var(--nbsans);--ks-button-size:10px;--ks-button-weight:400;--ks-button-tracking:.18em;--ks-button-pad-y:13px;--ks-button-pad-x:23px}
body.ks-nb .ks-main-page .ks-page-title{display:none}
body.ks-nb .ks-page-body{padding:0;max-width:none}
body.ks-nb .ks-page-body>*,body.ks-nb .wp-block-post-content>*{max-width:none;width:100%;margin-left:0;margin-right:0}
body.ks-nb .ks-header{position:absolute;background:transparent}
/* h1-h3: the template's heading defaults, as variables read by the global heading styles (see ks-theme.css) */
body.ks-nb h1,body.ks-nb h2,body.ks-nb h3{--ks-heading-font:var(--nbserif);--ks-heading-weight:400;--ks-heading-line-height:.98;--ks-heading-letter-spacing:0;margin:0;text-transform:none}
body.ks-nb h1{--ks-h1-size:clamp(58px,7.6vw,106px)}
body.ks-nb h2{--ks-h2-size:clamp(40px,4.4vw,62px);margin-bottom:14px}
body.ks-nb h3{--ks-h3-size:28px}
/* Paragraph look at zero weight so Site Editor → Styles → Blocks → Paragraph (colour, size, line height) reaches it;
   the spacing keeps class weight because core layout margins would otherwise win. The footer line keeps the 16px
   these pages have always shown there (the old rule outranked the footer part's own sizes). */
:where(body.ks-nb) p{font-size:16px;line-height:1.86;color:#3d3a36}
body.ks-nb p{margin:0 0 18px}
body.ks-nb footer p{font-size:16px;line-height:1.86}
body.ks-nb .muted{color:var(--muted)}
body.ks-nb .wrap{width:min(1180px,calc(100% - 52px));margin:0 auto}
body.ks-nb .nb-section{padding:96px 0;background:#fff}
body.ks-nb .nb-section.alt{background:var(--paper)}
body.ks-nb .nb-section.intro{padding-top:90px}
body.ks-nb .nb-section .wrap>h2{max-width:900px}
body.ks-nb .nb-section .wrap>p{max-width:930px}
body.ks-nb .nb-eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:.85;margin-bottom:12px}

/* hero + cta covers */
/* Unpositioned hero = a centred grid: the title box is 92% of a content-sized track (the designed line breaks).
   Once a content position is chosen on the Cover, its own layout + position classes take over. */
body.ks-nb .nb-hero{min-height:90vh;margin:0}
body.ks-nb .nb-hero:not(.has-custom-content-position){display:grid;place-items:center}
body.ks-nb .nb-hero .wp-block-cover__inner-container{text-align:center;width:min(930px,92%);padding:130px 0 75px;color:#fff}
body.ks-nb .nb-hero h1{color:#fff;margin:0 auto 18px;max-width:920px}
body.ks-nb .nb-hero-sub{font-size:17px;color:#fff;max-width:710px;margin:0 auto 30px}
body.ks-nb .nb-cta{padding:60px 0;text-align:center}
body.ks-nb .nb-cta .wp-block-cover__inner-container{color:#fff;max-width:900px}
body.ks-nb .nb-cta h2{color:#fff;margin:0 auto 17px;max-width:760px}
body.ks-nb .nb-cta p{color:#ece8e3;max-width:670px;margin:0 auto 28px}

/* listings placeholder + market */
body.ks-nb .idx-shell{border:1px solid #d8d3ca;background:#fff;padding:26px 24px;margin:26px 0}
body.ks-nb .nb-filters{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6c6862;margin-bottom:14px}
body.ks-nb .nb-idx-note{max-width:670px;font-size:14px;color:#77716a}
body.ks-nb .nb-supporting{margin-top:26px;max-width:780px;font-size:13.5px}
body.ks-nb .market-card{border:1px solid var(--line);background:linear-gradient(125deg,#e4dfd6,#c4beb3);height:220px;position:relative;overflow:hidden;margin-top:20px}
body.ks-nb .dynamic-note{font-size:12px;color:var(--muted);margin-top:13px}

/* pros & cons */
body.ks-nb .proscons{gap:56px}
body.ks-nb .pc-col h3{font-size:30px;line-height:1.1;padding-bottom:14px;border-bottom:1px solid var(--ink)}
body.ks-nb .pc-list{list-style:none;margin:0;padding:0}
body.ks-nb .pc-list li{padding:18px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.72}
body.ks-nb .pc-list strong{display:block;font-family:var(--nbserif);font-weight:500;font-size:23px;line-height:1.2;margin-bottom:6px;color:var(--ink)}

/* communities grid */
body.ks-nb .nb-grid-label{font-size:20px;margin:30px 0 0;color:var(--gold)}
/* grid columns + gap are the Group's own Grid settings (4 columns, gap 0); the breakpoints below are phone/tablet defaults */
body.ks-nb .community-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:22px}
body.ks-nb .community-item{padding:22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:76px;display:flex;align-items:center;font-family:var(--nbserif);font-size:25px;line-height:1.1;margin:0;color:var(--ink)}

/* location split + agent (Columns: vertical alignment and gap are the blocks' own settings where set) */
body.ks-nb .split{gap:62px}
body.ks-nb .split-image img{width:100%;height:100%;min-height:550px;object-fit:cover}
body.ks-nb .split-copy h2{margin:13px 0 20px}
body.ks-nb .agent{gap:62px}
body.ks-nb .agent-photo img{height:500px;width:100%;object-fit:cover;object-position:center top}

/* lifestyle carousel */
body.ks-nb .lifestyle-intro{max-width:900px}
body.ks-nb .lifestyle-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 14px)/2);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 10px}
body.ks-nb .lifestyle-carousel::-webkit-scrollbar{display:none}
body.ks-nb .lifestyle-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line);overflow:hidden;min-width:0}
body.ks-nb .lifestyle-card img{width:100%;height:260px;object-fit:cover}
body.ks-nb .lifestyle-card figure{margin:0}
body.ks-nb .lifestyle-card-body{padding:24px 22px 26px}
body.ks-nb .lifestyle-card h3{font-size:30px;margin:0 0 10px}
body.ks-nb .lifestyle-card p{font-size:14px;line-height:1.75;margin:0}

/* video */
body.ks-nb .video-section{background:#151515;color:#fff;text-align:center}
body.ks-nb .video-section h2{color:#fff}
body.ks-nb .video-section p{color:#d6d1cb;max-width:850px;margin-left:auto;margin-right:auto}
body.ks-nb .video-wrap{max-width:980px;margin:34px auto 0;border:1px solid #3b3935}

/* blog */
body.ks-nb .blog-grid{gap:14px;margin-top:28px}
body.ks-nb .blog-grid li{border:1px solid var(--line);background:#fff;padding:22px}
body.ks-nb .blog-grid li>a{font-family:var(--nbserif);font-size:26px;line-height:1.05;color:var(--ink);text-decoration:none;display:block;margin:14px 0 8px}
body.ks-nb .blog-grid img{aspect-ratio:16/9;object-fit:cover;width:100%}
body.ks-nb .blog-grid .wp-block-latest-posts__post-excerpt{font-size:12.5px;line-height:1.6;color:#77716a}

/* faq (core details) */
body.ks-nb .faq{border-top:1px solid var(--line);margin-top:8px}
body.ks-nb .faq details{border-bottom:1px solid var(--line);padding:18px 0}
body.ks-nb .faq summary{list-style:none;cursor:pointer;font-family:var(--nbserif);font-size:24px;position:relative;padding-right:35px}
body.ks-nb .faq summary::-webkit-details-marker{display:none}
body.ks-nb .faq summary::after{content:'+';position:absolute;right:0;top:1px;font-family:var(--nbsans);font-size:18px;color:var(--gold)}
body.ks-nb .faq details[open] summary::after{content:'–'}
body.ks-nb .faq details p{max-width:860px;padding-top:12px;font-size:14px;line-height:1.78}

/* related */
body.ks-nb .related-card{min-height:260px;margin:0;padding:0}
/* card text sits bottom-left: that is the Cover's own content position setting */
body.ks-nb .related-card .wp-block-cover__inner-container{padding:18px;text-align:left}
body.ks-nb .related-card h3{color:#fff;font-size:28px}
body.ks-nb .related-card h3 a{color:#fff;text-decoration:none}
body.ks-nb .related-card p{color:#eee;font-size:12.5px;line-height:1.55;margin:7px 0 0}
body.ks-nb .related+.wp-block-buttons{margin-top:26px}
@media(max-width:980px){body.ks-nb .related{grid-template-columns:repeat(2,1fr)}body.ks-nb .community-grid{grid-template-columns:repeat(2,1fr)}body.ks-nb .lifestyle-carousel{grid-auto-columns:calc((100% - 14px)/1.35)}}
@media(max-width:680px){body.ks-nb .wrap{width:min(1180px,calc(100% - 30px))}body.ks-nb .nb-hero{min-height:76vh}body.ks-nb h1{--ks-h1-size:clamp(50px,14vw,74px)}body.ks-nb .nb-section{padding:70px 0}body.ks-nb .related,body.ks-nb .community-grid{grid-template-columns:1fr}body.ks-nb .lifestyle-carousel{grid-auto-columns:100%}body.ks-nb .split-image img{min-height:330px}body.ks-nb .agent-photo img{height:370px}}

/* Phones (theme stacks Columns at <=768px): the centred agent row sized each column to its content (photo ~247px,
   centred). Core's is-vertically-aligned-* columns set width:100%; auto restores the content width. */
@media(max-width:768px){body.ks-nb .agent>.wp-block-column{width:auto}}
