/* Condo directory on the BoF design. Tokens, base components and the chrome come
   from the editorial theme (bof/ed/*, synced by scripts/sync-bof-assets.sh);
   this file only adds what the directory pages need. */
.dir {
  --dir-teal:#1E7568;       /* directory links and kickers, as in the mocks */
  --dir-teal-line:#9FCFC5;
  --dir-sw:#37B9A6;
  --dir-rule:#E4DECF;
  --dir-paper:#FFFFFF;
  background:var(--sand);
  color:var(--ink);
}
.dir-main { padding-bottom:64px }
.dir-teal { color:var(--dir-teal) }
:where(.dir) a { color:inherit; text-decoration:none }
.dir .ed-cta { display:inline-flex; align-items:center; justify-content:center; font-size:11px; padding:15px 22px; color:var(--on-mango) }
.dir a:focus-visible, .dir button:focus-visible, .dir input:focus-visible, .dir select:focus-visible { outline:2px solid var(--mango); outline-offset:2px }
/* the directory link marked as the current section: white on the dark utility bar, ink in the light drawer */
/* an offset underline rather than a border: room below the words without nudging the link out of line */
.ed-util a.is-here, .ed-drawer a.is-here { text-decoration:underline; text-decoration-color:var(--dir-sw); text-decoration-thickness:2px; text-underline-offset:7px }
.ed-util a.is-here { color:#fff }
.ed-drawer a.is-here { color:var(--ink) }

/* type */
.dir-h1 { font:400 clamp(38px,5.2vw,58px)/1.02 var(--f-display); letter-spacing:-.022em; margin:0; text-wrap:balance }
.dir-h1--xl { font-size:clamp(40px,5.8vw,62px); margin-top:14px }
.dir-h2 { font:400 clamp(28px,3.2vw,40px)/1.04 var(--f-display); letter-spacing:-.02em; margin:0; text-wrap:balance }
.dir-h2--sm { font-size:clamp(26px,2.6vw,34px) }
.dir-h2--gap { margin:18px 0 26px }
.dir-dek { font:400 17px/1.55 var(--f-body); color:var(--body-strong); margin:16px 0 0; max-width:720px; text-wrap:pretty }
.dir-history { margin:14px 0 0; padding:10px 14px; max-width:720px; background:var(--card); border-left:2px solid var(--structure); font:400 14.5px/1.5 var(--f-body); color:var(--body-strong) }
.dir-inline, .dir-history a { color:var(--dir-teal); border-bottom:1px solid var(--dir-teal-line) }
.dir-fine, .dir-foot p { font:400 12.5px/1.55 var(--f-body); color:var(--text-2); max-width:760px }
.dir-fine a, .dir-foot p a { border-bottom:1px solid var(--border) }
.dir-more { display:inline-block; font:700 10.5px/1.2 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--dir-teal) !important; border-bottom:1px solid var(--dir-teal-line); padding-bottom:4px }
.dir-more:hover { border-bottom-color:var(--dir-teal) }

/* breadcrumb */
/* full-width bar straight under the header; the text stays on the page column */
.dir-crumbbar { border-bottom:1px solid var(--border) }
.dir-crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; padding:11px 0; font:700 10px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--text-2) }
.dir-crumbs a:hover { color:var(--ink) }
.dir-crumbs__sep { color:var(--border-alt) }
.dir-crumbs [aria-current] { color:var(--dir-teal) }

/* buttons */
.dir-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--structure); background:transparent; font:700 11px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; padding:15px 22px; cursor:pointer; transition:background .15s,color .15s }
.dir-btn:hover { background:var(--structure); color:var(--sand) }
.dir-btn--dark { background:var(--structure); color:var(--sand) !important }
.dir-btn--dark:hover { background:var(--dir-teal); border-color:var(--dir-teal) }
.dir-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:22px }
.dir-center { display:flex; justify-content:center; margin-top:34px }

/* hero + search */
.dir-hero { padding:40px 0 26px; max-width:900px }
.dir-hero--tight { padding:34px 0 24px }
.dir-find { border-top:1px solid var(--structure); border-bottom:1px solid var(--structure); padding:18px 0 16px }
.dir-find__row { display:grid; grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr)) auto; gap:10px }
.dir-find__row--two { grid-template-columns:minmax(0,1fr) auto }
.dir-input, .dir-select { height:50px; width:100%; min-width:0; border:1px solid var(--border-alt); background:var(--dir-paper); color:var(--ink); font:400 15px/1 var(--f-body); padding:0 14px; border-radius:0; -webkit-appearance:none; appearance:none }
.dir-select { font-size:13.5px; padding-right:34px; background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%); background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px; background-size:5px 5px; background-repeat:no-repeat }
.dir-input::placeholder { color:var(--text-faint) }
.dir-input--main { font-size:16px }
.dir .dir-find__go { height:50px; padding:0 30px }
.dir-find__popular { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px }
.dir-find__lbl, .dir-jump__lbl { font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2); margin-right:4px }
.dir-find__popular a { font:400 13px/1 var(--f-body); border:1px solid var(--border); background:var(--card); padding:9px 12px }
.dir-find__popular a:hover { background:var(--structure); color:var(--sand); border-color:var(--structure) }

/* numbered bands */
.dir-band, .dir-sec { padding-top:52px }
.dir-band__eyebrow { display:flex; align-items:center; gap:10px; font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2) }
.dir-band__eyebrow i { flex:1; height:1px; background:var(--border) }
.dir-band__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:18px 0 24px }

/* launch cards */
.dir-lgrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px }
.dir-lcard { display:flex; flex-direction:column; gap:10px }
.dir-lcard__img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--panel) }
.dir-lcard:hover .dir-lcard__t { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px }
.dir-lcard__k { margin-top:4px }
.dir-lcard__t { font:400 24px/1.1 var(--f-display); letter-spacing:-.012em }
.dir-lcard__facts { margin:2px 0 0; display:flex; flex-direction:column }
.dir-lcard__facts div, .dir-glance dl div, .dir-rows div { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--dir-rule); font:400 12.5px/1.25 var(--f-body) }
.dir-lcard__facts div:last-child, .dir-glance dl div:last-child, .dir-rows div:last-child { border-bottom:0 }
.dir-lcard__facts dt, .dir-glance dt, .dir-rows dt { color:var(--text-2) }
.dir-lcard__facts dd, .dir-glance dd, .dir-rows dd { margin:0; text-align:right; font-variant-numeric:tabular-nums }
.dir-noimg { display:flex; align-items:flex-end; padding:14px; background:repeating-linear-gradient(135deg,var(--card) 0 10px,var(--panel) 10px 11px); color:var(--text-faint); font:700 9px/1.1 var(--f-body); letter-spacing:.14em; text-transform:uppercase }
.dir-noimg--sm { width:56px; height:42px; padding:0; align-items:center; justify-content:center; font:700 7.5px/1.1 var(--f-body); letter-spacing:.08em; text-transform:uppercase; text-align:center }

/* districts */
.dir-segs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 44px }
.dir-seg--wide { grid-column:1/-1 }
.dir-seg__h { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 6px; padding-bottom:10px; border-bottom:1px solid var(--structure); font:700 10.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase }
.dir-seg__n { color:var(--text-faint); font-weight:400; letter-spacing:.06em }
.dir-seg__list { display:grid; grid-template-columns:1fr; column-gap:44px }
.dir-seg--wide .dir-seg__list { grid-template-columns:repeat(2,minmax(0,1fr)) }
.dir-drow { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:11px 0; border-bottom:1px solid var(--dir-rule); font:400 14.5px/1.3 var(--f-body) }
.dir-drow b { display:inline-block; min-width:44px; font-weight:700; font-size:11px; letter-spacing:.08em; color:var(--text-2) }
.dir-drow:hover { background:var(--card) }
.dir-drow__n { color:var(--text-faint); font-size:12.5px; font-variant-numeric:tabular-nums }

/* closing pair */
.dir-closing { display:grid; grid-template-columns:1fr 1fr; margin-top:64px; border:1px solid var(--structure) }
.dir-closing__col { padding:34px 36px 36px; background:var(--dir-paper) }
.dir-closing__col--tint { background:var(--card); border-left:1px solid var(--structure) }
.dir-closing__h { font:400 32px/1.06 var(--f-display); letter-spacing:-.016em; margin:10px 0 0 }
.dir-closing__d { font:400 15px/1.55 var(--f-body); color:var(--body-strong); margin:12px 0 22px; max-width:460px }
.dir-closing__ctas { display:flex; flex-wrap:wrap; gap:12px }

/* advisory card + side card */
.dir-consult { margin-top:52px; padding:28px 30px; background:var(--card); border-top:2px solid var(--structure) }
.dir-results__side .dir-consult { margin-top:0 }
.dir-consult__h { font:400 26px/1.1 var(--f-display); letter-spacing:-.012em; margin:10px 0 0 }
.dir-consult__d { font:400 14px/1.5 var(--f-body); color:var(--body-strong); margin:8px 0 16px }
.dir-sidecard { border:1px solid var(--structure); background:var(--dir-paper) }
.dir-sidecard > img { display:block; width:100%; height:140px; object-fit:cover; background:var(--panel) }
.dir-sidecard__b { padding:18px 20px 20px }
.dir-sidecard__h { font:400 24px/1.12 var(--f-display); letter-spacing:-.012em; margin:10px 0 0; text-wrap:pretty }
.dir-sidecard__d { font:400 13.5px/1.5 var(--f-body); color:var(--body-strong); margin:8px 0 0 }
.dir-sidecard .dir-more { margin-top:14px }

/* search */
.dir-panel { background:var(--card); border-top:1px solid var(--structure); padding:22px 24px 8px }
.dir-browse { padding:18px 0 14px }
.dir-browse + .dir-browse { border-top:1px solid var(--border) }
.dir-browse__h { display:flex; align-items:center; gap:9px; margin:0 0 12px; font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2) }
.dir-browse__h i { flex:1; height:1px; background:var(--border) }
.dir-keys { display:flex; flex-wrap:wrap; gap:6px }
.dir-key { min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 8px; border:1px solid var(--border); background:var(--dir-paper); font:700 12px/1 var(--f-body); letter-spacing:.04em; font-variant-numeric:tabular-nums }
.dir-key--d { min-width:48px }
.dir-key--w { padding:0 14px; font-weight:400; font-size:13px; letter-spacing:0 }
.dir-key:hover { border-color:var(--structure) }
.dir-key.is-on { background:var(--structure); border-color:var(--structure); color:var(--sand) }
.dir-results { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; align-items:start; margin-top:40px }
.dir-results__side { display:flex; flex-direction:column; gap:22px }
.dir-results__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:14px; border-bottom:1px solid var(--structure) }
.dir-results__count { font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2); margin:0 }
.dir-results__h { font:400 32px/1.05 var(--f-display); letter-spacing:-.016em; margin:10px 0 0 }
.dir-clear { display:inline-block; margin-top:8px; font:400 12.5px/1 var(--f-body); color:var(--text-2); border-bottom:1px solid var(--border) }
.dir-sort { display:flex; align-items:center; gap:4px; font:700 10px/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); flex:none }
.dir-sort span { margin-right:6px }
.dir-sort a { padding:8px 10px; border:1px solid transparent }
.dir-sort a.is-on { border-color:var(--structure); color:var(--ink) }
.dir-table { display:flex; flex-direction:column }
.dir-tr { display:grid; grid-template-columns:34px 56px minmax(0,2.4fr) minmax(0,.7fr) minmax(0,1.2fr) minmax(0,.9fr); gap:16px; align-items:center; padding:12px 0; border-bottom:1px solid var(--dir-rule); font:400 13.5px/1.3 var(--f-body); color:var(--body-strong) }
a.dir-tr:hover { background:var(--card) }
.dir-tr--h { padding:12px 0 10px; font:700 9px/1 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint); border-bottom-color:var(--border) }
.dir-td--n { font:400 11.5px/1 var(--f-body); color:var(--text-faint); font-variant-numeric:tabular-nums }
.dir-td--img img { display:block; width:56px; height:42px; object-fit:cover; background:var(--panel) }
.dir-td--t { font:400 19px/1.15 var(--f-display); letter-spacing:-.008em; color:var(--ink) }
.dir-td--r { text-align:right; font-variant-numeric:tabular-nums }
.dir-td--faint { color:var(--text-faint) }
.dir-tag { display:inline-block; vertical-align:middle; margin-left:10px; padding:4px 6px; background:#F6E9C0; color:#3E3524; font:700 8.5px/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; font-style:normal }
.dir-pager { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:26px; font:700 10.5px/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase }
.dir-pager > a, .dir-pager > span { padding:12px 14px; border:1px solid var(--structure) }
.dir-pager > .is-off { border-color:var(--border); color:var(--text-faint) }
.dir-pager__nums { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; border:0 !important; padding:0 !important }
.dir-pager__nums a, .dir-pager__nums span { min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; font-variant-numeric:tabular-nums; letter-spacing:.02em }
.dir-pager__nums a:hover { background:var(--card) }
.dir-pager__nums .is-on { background:var(--structure); color:var(--sand) }
.dir-pager__gap { color:var(--text-faint) }
.dir-empty { padding:30px 0; font:400 16px/1.55 var(--f-body); color:var(--body-strong); max-width:600px }
.dir-shortcuts { display:flex; flex-direction:column; border-top:1px solid var(--structure); padding-top:14px }
.dir-shortcuts a { padding:11px 0; border-bottom:1px solid var(--dir-rule); font:400 14px/1.3 var(--f-body) }
.dir-shortcuts a::after { content:" \2192"; color:var(--dir-teal) }
.dir-shortcuts a:hover { color:var(--dir-teal) }

/* condo page */
.dir-top { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:44px; align-items:start; padding-top:34px }
.dir-top__side { display:flex; flex-direction:column; gap:22px }
.dir-hero-img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--panel); margin:26px 0 0 }
.dir-hero-img--plan { aspect-ratio:auto; max-height:640px; padding:24px; background:var(--card); border:1px solid var(--border); display:flex; justify-content:center }
.dir-hero-img--plan img { max-width:100%; max-height:592px; object-fit:contain; mix-blend-mode:multiply }
.dir-glance { background:var(--card); padding:20px }
.dir-glance__h { font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-faint); margin:0 0 8px }
.dir-glance dl { margin:0 }
.dir-review { display:grid; grid-template-columns:minmax(0,1fr) 420px; margin-top:48px; border:1px solid var(--structure); background:var(--dir-paper) }
.dir-review:not(:has(> img)) { grid-template-columns:1fr }
.dir-review__b { padding:34px 36px 36px }
.dir-review__b .dir-h2 { margin-top:14px }
.dir-review__b p { font:400 16px/1.6 var(--f-body); color:var(--body-strong); margin:14px 0 20px; max-width:460px }
.dir-review > img { width:100%; height:100%; min-height:260px; object-fit:cover; background:var(--panel) }
.dir-facts { display:grid; grid-template-columns:1fr 1fr; column-gap:56px; margin:24px 0 0; border-top:1px solid var(--structure); padding-top:6px }
.dir-facts div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:16px; padding:14px 0; border-bottom:1px solid var(--dir-rule) }
.dir-facts dt { font:700 9.5px/1.4 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--text-faint) }
.dir-facts dd { margin:0; font:400 15px/1.35 var(--f-body) }
.dir-sec__head { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:56px; align-items:end; margin:20px 0 26px }
.dir-sec__head p { font:400 14.5px/1.55 var(--f-body); color:var(--body-strong); margin:0 }
.dir-sec__head--row { display:flex; justify-content:space-between; align-items:flex-end; gap:40px }
.dir-bedgrid { display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); border-top:1px solid var(--structure) }
.dir-bed { display:flex; flex-direction:column; padding:22px; border-right:1px solid var(--border) }
.dir-bed:first-child { padding-left:0 }
.dir-bed:last-child { border-right:0 }
.dir-bed:hover { background:var(--card) }
.dir-bed__k { display:flex; align-items:center; gap:8px; font:700 9.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--text-2) }
.dir-bed__t { font:400 26px/1.08 var(--f-display); letter-spacing:-.014em; margin-top:12px }
.dir-bed__d { font:400 12.5px/1.5 var(--f-body); color:var(--body-strong); margin-top:10px; font-variant-numeric:tabular-nums }
.dir-featured { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:30px; align-items:start; margin-top:32px }
.dir-featured__img { display:flex; justify-content:center; border:1px solid var(--border); background:var(--card); padding:24px }
.dir-featured__img img { max-width:100%; max-height:560px; object-fit:contain; mix-blend-mode:multiply }
.dir-featured__t { font:400 26px/1.1 var(--f-display); letter-spacing:-.012em; margin:10px 0 0 }
.dir-rows { margin:14px 0 18px }
.dir-siteplan { display:block; width:100%; border:1px solid var(--border); background:var(--dir-paper) }
.dir-brochure { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; margin-top:52px; padding:30px 32px; background:var(--card); border-top:2px solid var(--structure) }
.dir-brochure__t { font:400 30px/1.08 var(--f-display); letter-spacing:-.018em; margin:0 }
.dir-brochure__d { font:400 14.5px/1.5 var(--f-body); color:var(--body-strong); margin:10px 0 0; max-width:560px }
.dir-near { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:22px; border-top:1px solid var(--structure) }
.dir-near a { display:flex; flex-direction:column; gap:8px; padding:20px 24px; border-right:1px solid var(--border) }
.dir-near a:first-child { padding-left:0 }
.dir-near a:last-child { border-right:0 }
.dir-near a:hover .dir-near__t { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px }
.dir-near__t { font:400 22px/1.12 var(--f-display); letter-spacing:-.01em }
.dir-near__d { font:400 12.5px/1.4 var(--f-body); color:var(--body) }

/* floor plans page */
.dir-jump { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px 0; border-top:1px solid var(--structure); border-bottom:1px solid var(--structure); position:sticky; top:0; z-index:5; background:var(--sand); transition:top 240ms ease }
/* the site header hides on the way down and returns on the way up (nav.min.js); sit below it while it shows */
html:not(.ed-tucked) .dir-jump { top:var(--dir-head-h,0px) }
.dir-jump a { border:1px solid var(--border); background:var(--card); padding:10px 14px; font:700 11px/1 var(--f-body); letter-spacing:.06em }
.dir-jump a span { font-weight:400; color:var(--text-faint); margin-left:4px }
.dir-jump a:hover { background:var(--structure); color:var(--sand); border-color:var(--structure) }
.dir-jump a:hover span { color:var(--border-alt) }
.dir-pgroup { padding-top:46px; scroll-margin-top:calc(var(--dir-head-h,0px) + 60px) }
.dir-pgroup__head { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding-bottom:14px; border-bottom:1px solid var(--structure) }
.dir-pgroup__head > span { font:400 13px/1.3 var(--f-body); color:var(--text-2); font-variant-numeric:tabular-nums; text-align:right }
.dir-pgroup__note { font:400 14px/1.55 var(--f-body); color:var(--body-strong); margin:14px 0 0; max-width:700px }
.dir-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:24px }
.dir-plan { margin:0; display:flex; flex-direction:column; gap:12px }
.dir-plan__img { display:flex; align-items:center; justify-content:center; height:320px; padding:16px; border:1px solid var(--border); background:var(--card); cursor:zoom-in; transition:border-color .15s }
.dir-plan__img:hover { border-color:var(--structure) }
.dir-plan__img img { max-width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply }
.dir-plan figcaption { display:flex; flex-direction:column; gap:4px }
.dir-plan__t { font:400 20px/1.15 var(--f-display); letter-spacing:-.008em }
.dir-plan__m { font:400 13px/1.4 var(--f-body); color:var(--body); font-variant-numeric:tabular-nums }
.dir-plan__n { font:400 12px/1.4 var(--f-body); color:var(--text-2); font-style:italic }
.dir-foot { display:flex; flex-direction:column; gap:14px; margin-top:44px; padding-top:20px; border-top:1px solid var(--border) }
.dir-foot p { margin:0 }
.dir-lightbox { width:min(1200px,96vw); max-height:94vh; padding:18px; border:1px solid var(--structure); background:var(--dir-paper) }
.dir-lightbox::backdrop { background:rgba(22,20,15,.72) }
.dir-lightbox img { display:block; max-width:100%; max-height:calc(94vh - 90px); margin:0 auto; object-fit:contain }
.dir-lightbox p { margin:12px 0 0; font:700 10px/1.3 var(--f-body); letter-spacing:.13em; text-transform:uppercase; color:var(--text-2) }
.dir-lightbox__x { position:absolute; top:8px; right:10px; width:40px; height:40px; border:0; background:transparent; font:400 30px/1 var(--f-body); cursor:pointer; color:var(--ink) }

/* site plan page */
.dir-top--site { grid-template-columns:minmax(0,1fr) 300px }
.dir-switch { display:flex; flex-direction:column; gap:10px; padding:18px; border:1px solid var(--structure); background:var(--dir-paper) }
.dir-switch .ed-cta { justify-content:center; text-align:center }
.dir-sitefig { margin:30px 0 0 }

/* new-launch floor plans (Stacked New Launch Floor Plans) */
.nl-meta { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:22px; font:400 13px/1.3 var(--f-body); color:var(--text-2) }
.nl-meta b { font-weight:400; color:var(--ink) }
.nl-jump { margin-top:30px }
.nl-jump .nl-jump__mix { border-color:var(--dir-sw); background:#E3EDE8; color:var(--dir-teal) }
.nl-jump .nl-jump__mix:hover { background:var(--dir-teal); border-color:var(--dir-teal); color:#fff }
.nl-h2 { font-size:clamp(28px,3vw,38px); margin-top:18px }
.nl-eyebrow { gap:9px }
.nl-eyebrow .ed-sw { flex:none }
.nl-mix { display:flex; flex-direction:column; margin-top:20px; border-top:1px solid var(--structure) }
.nl-mix__r { display:grid; grid-template-columns:140px 110px minmax(0,1fr) 90px 100px 60px 60px 100px; gap:0 18px; align-items:center; padding:12px 0; border-bottom:1px solid var(--dir-rule); font:400 13.5px/1.35 var(--f-body); color:var(--body-strong) }
a.nl-mix__r:hover { background:var(--card) }
.nl-mix__r--h { padding:14px 0; border-bottom-color:var(--border); font:700 9px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--text-2) }
.nl-mix__b { font:400 16px/1.2 var(--f-display); color:var(--ink) }
.nl-mix__n { text-align:right; font-variant-numeric:tabular-nums }
.nl-mix__foot { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-top:12px; padding-top:10px; border-top:1px solid var(--structure); font:400 11.5px/1.5 var(--f-body); color:var(--text-2) }
.nl-mix__foot b { color:var(--ink) }
.nl-types { display:grid; grid-template-columns:1fr 1fr; gap:34px 26px; padding-top:24px; border-top:1px solid var(--structure) }
.nl-types--many { grid-template-columns:repeat(3,minmax(0,1fr)) }
.nl-type { display:flex; flex-direction:column; min-width:0 }
.nl-type__img { display:flex; align-items:center; justify-content:center; height:340px; padding:16px; border:1px solid var(--border); background:var(--card); cursor:zoom-in; transition:border-color .15s }
.nl-types--many .nl-type__img { height:280px }
.nl-type__img:hover { border-color:var(--structure) }
.nl-type__img img { max-width:100%; max-height:100%; object-fit:contain; mix-blend-mode:multiply }
.nl-type__img--none { flex-direction:column; gap:10px; cursor:default; font:400 14px/1.4 var(--f-body); color:var(--text-2) }
.nl-type__img--none span { font:700 9.5px/1 var(--f-body); letter-spacing:.16em; text-transform:uppercase }
.nl-type__t { font:400 24px/1.12 var(--f-display); letter-spacing:-.012em; margin:16px 0 0 }
.nl-types--many .nl-type__t { font-size:21px }
.nl-type__spec { margin:10px 0 0 }
.nl-type__spec dd { max-width:65% }
.nl-faq { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:22px; border-top:1px solid var(--structure) }
.nl-faq__i { padding:18px 0; border-bottom:1px solid var(--dir-rule) }
.nl-faq__i h3 { font:400 21px/1.2 var(--f-display); letter-spacing:-.01em; margin:0 }
.nl-faq__i p { font:400 14px/1.55 var(--f-body); color:var(--body-strong); margin:9px 0 0 }
.nl-next { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:44px; padding-top:24px; border-top:1px solid var(--structure) }
.nl-next a { display:flex; flex-direction:column; gap:9px; padding:8px 26px; border-right:1px solid var(--border) }
.nl-next a:first-child { padding-left:0 }
.nl-next a:last-child { border-right:0 }
.nl-next__k { font:700 9.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--dir-teal) }
.nl-next__t { font:400 22px/1.14 var(--f-display); letter-spacing:-.01em }
.nl-next a:hover .nl-next__t { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px }
.nl-fine { margin-top:30px }
.nl-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:30px; border-top:1px solid var(--structure); border-bottom:1px solid var(--border) }
.nl-stats > div { display:flex; flex-direction:column; gap:6px; padding:18px 20px 18px 0; border-right:1px solid var(--border) }
.nl-stats > div + div { padding-left:20px }
.nl-stats > div:last-child { border-right:0 }
.nl-stats__k { font:700 9.5px/1.2 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--text-2) }
.nl-stats__v { font:400 30px/1.05 var(--f-display); letter-spacing:-.015em; font-variant-numeric:tabular-nums }
.nl-stats__v small { font:400 13px/1 var(--f-body); color:var(--text-2); letter-spacing:0 }
.nl-stats__d { font:400 12.5px/1.45 var(--f-body); color:var(--body); font-variant-numeric:tabular-nums }
.nl-stats__src { font:400 11.5px/1.5 var(--f-body); color:var(--text-2); margin:8px 0 0 }
.nl-dev { display:grid; grid-template-columns:1fr 1fr; gap:26px 56px; margin-top:22px; border-top:1px solid var(--structure); padding-top:6px }
.nl-dev__h { font:700 9.5px/1.2 var(--f-body); letter-spacing:.16em; text-transform:uppercase; color:var(--text-2); margin:14px 0 4px }
.nl-dev__h--gap { margin-top:26px }
.nl-dev .dir-rows dd { max-width:62% }
.nl-fac { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:8px 0 0; padding:0 }
.nl-fac li { border:1px solid var(--border); background:var(--card); padding:7px 10px; font:400 12.5px/1.2 var(--f-body) }
@media (max-width:1100px) {
  .nl-mix__r { grid-template-columns:120px 90px minmax(0,1fr) 90px 60px 60px 90px; gap:0 12px }
  .nl-mix__sqm { display:none }
  .nl-stats { grid-template-columns:1fr 1fr }
  .nl-dev { grid-template-columns:1fr }
  .nl-types--many { grid-template-columns:1fr 1fr }
}
@media (max-width:700px) {
  .nl-mix__r { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 56px 42px 42px; gap:0 10px; font-size:12.5px }
  .nl-mix__r--h { font-size:8.5px; letter-spacing:.08em }
  .nl-mix__d, .nl-mix__sqm, .nl-mix__psf { display:none }
  .nl-stats { grid-template-columns:1fr }
  .nl-mix__b { font-size:14.5px }
  .nl-mix__foot { flex-direction:column; gap:4px }
  .nl-types, .nl-types--many, .nl-faq, .nl-next { grid-template-columns:1fr }
  .nl-type__img, .nl-types--many .nl-type__img { height:auto; aspect-ratio:1/1 }
  .nl-next a, .nl-next a:first-child { padding:14px 0; border-right:0; border-bottom:1px solid var(--border) }
  .nl-meta { gap:8px 18px }
  .nl-stats > div, .nl-stats > div + div { padding:14px 0; border-right:0; border-bottom:1px solid var(--dir-rule) }
  .nl-stats__v { font-size:26px }
  .nl-dev .dir-rows dd { max-width:60% }
}

/* responsive */
@media (max-width:1100px) {
  .dir-find__row { grid-template-columns:1fr 1fr 1fr }
  .dir-input--main { grid-column:1/-1 }
  .dir-find__go { grid-column:1/-1 }
  .dir-lgrid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .dir-results { grid-template-columns:1fr }
  .dir-results__side { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
  .dir-results__side .dir-consult { grid-column:1/-1 }
  .dir-top, .dir-top--site { grid-template-columns:1fr }
  .dir-top__side { display:grid; grid-template-columns:1fr 1fr }
  .dir-review { grid-template-columns:1fr }
  .dir-review > img { min-height:0; aspect-ratio:16/9 }
  .dir-sec__head { grid-template-columns:1fr; gap:14px }
  .dir-bedgrid { grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr)) }
  .dir-bed { border-bottom:1px solid var(--border) }
  .dir-bed:first-child { padding-left:22px }
  .dir-featured { grid-template-columns:1fr }
  .dir-near { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .dir-near a, .dir-near a:first-child { padding:18px 18px 18px 0; border-right:0; border-bottom:1px solid var(--border) }
  .dir-plans { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .dir-switch { flex-direction:row; flex-wrap:wrap }
  .dir-switch > * { flex:1 1 150px }
}
@media (max-width:700px) {
  .dir-hero { padding:26px 0 20px }
  .dir-dek { font-size:16px }
  .dir-find__row { grid-template-columns:1fr }
  .dir-find__row--two { grid-template-columns:minmax(0,1fr) auto }
  .dir-find__row--two .dir-input--main, .dir-find__row--two .dir-find__go { grid-column:auto }
  .dir .dir-find__row--two .dir-find__go { padding:0 18px }
  .dir-segs, .dir-seg--wide .dir-seg__list, .dir-closing, .dir-facts, .dir-plans, .dir-near, .dir-top__side, .dir-results__side { grid-template-columns:1fr }
  .dir-lgrid { grid-template-columns:1fr 1fr; gap:22px 14px }
  .dir-lcard__t { font-size:19px }
  .dir-lcard__facts div { font-size:11.5px; flex-direction:column; gap:2px }
  .dir-lcard__facts dd { text-align:left }
  .dir-closing__col--tint { border-left:0; border-top:1px solid var(--structure) }
  .dir-closing__col { padding:26px 22px }
  .dir-band__head, .dir-sec__head--row, .dir-results__head { flex-direction:column; align-items:flex-start }
  .dir-panel { padding:16px 16px 4px; margin:0 calc(-1 * var(--gutter)) }
  .dir-tr { grid-template-columns:56px minmax(0,1fr) auto; gap:4px 12px }
  .dir-tr--h { display:none }
  .dir-tr .dir-td--n { display:none }
  .dir-tr .dir-td--img { grid-row:span 2 }
  .dir-tr .dir-td--t { grid-column:2/-1 }
  .dir-tr > span:nth-child(4) { grid-column:2; color:var(--text-2); font-size:12.5px }
  .dir-tr > span:nth-child(5) { display:none }
  .dir-tr > span:nth-child(6) { grid-column:3; font-size:12.5px }
  .dir-pager { flex-wrap:wrap; justify-content:center }
  .dir-pager > a, .dir-pager > span.is-off { flex:1 }
  .dir-pager__nums { order:-1; flex-basis:100% }
  .dir-bedgrid { grid-template-columns:1fr 1fr }
  .dir-bed, .dir-bed:first-child { padding:16px 14px 16px 0; border-right:0 }
  .dir-bed__t { font-size:22px }
  .dir-facts div { grid-template-columns:110px minmax(0,1fr) }
  .dir-brochure { grid-template-columns:1fr; gap:18px; padding:24px 20px }
  .dir-plan__img { height:auto; aspect-ratio:1/1 }
  .dir-actions .dir-btn, .dir-actions .ed-cta { flex:1 1 100% }
  .dir-jump { overflow-x:auto; flex-wrap:nowrap; margin:0 calc(-1 * var(--gutter)); padding-left:var(--gutter); padding-right:var(--gutter) }
  .dir-jump a { flex:none }
  .dir-jump { scrollbar-width:none }
  .dir-jump::-webkit-scrollbar { display:none }
  .dir-jump__lbl { flex:none; white-space:nowrap }
}
@media (prefers-reduced-motion:reduce) { .dir *, .dir *::before { transition:none !important; scroll-behavior:auto !important } }
html { scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto } }
