/* Jack Liew editorial shell: restrained cues from premium property publishing. */
:root {
  --jl-editorial-black: #111410;
  --jl-editorial-paper: #f7f7f3;
  --jl-editorial-ink: #1c241e;
  --jl-editorial-bronze: #a58357;
  --jl-editorial-soft: #efeee8;
  --jl-editorial-line: #d9d9d0;
  --jl-space-1: 8px;
  --jl-space-2: 16px;
  --jl-space-3: 24px;
  --jl-space-4: 32px;
  --jl-space-6: 48px;
  --jl-space-8: 64px;
  --jl-radius: 0;
  --jl-shadow: 0 12px 32px rgba(17, 20, 16, .08);
}

/* One restrained type system: strong display hierarchy without decorative serif. */
main h1, main h2 { font-family: "Inter", Arial, sans-serif; font-weight: 700; letter-spacing: -.045em; }
.jl-wrap { max-width: 1200px; }
.jl-header, .jl-header button, .jl-header a { font-family: "Inter", Arial, sans-serif; }
.jl-header { position: sticky; top: 0; transition: background .2s ease, box-shadow .2s ease; }
.jl-header.is-compact { box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.jl-header .jl-header-row { transition: min-height .2s ease; }
.jl-header.is-compact .jl-header-row { min-height: 66px; }
.jl-header.is-compact .jl-brand-mark { width: 39px; height: 39px; }
.jl-header .jl-menu > nav { gap: 20px; }
.jl-header .jl-nav-utilities { display: flex; align-items: center; gap: 12px; padding-left: 18px; border-left: 1px solid #444b43; }
.jl-header .jl-nav-utilities a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: #e1e2dc; white-space: nowrap; }
.jl-header .jl-nav-utilities a span:first-child { font-size: 18px; line-height: 1; color: #d5b581; }
.jl-header .jl-nav-utilities [data-jl-count] { display: inline-grid; place-items: center; min-width: 18px; height: 18px; border: 1px solid #7a8176; border-radius: 50%; font-size: 10px; }
.jl-header .jl-more { position: relative; }
.jl-header .jl-more > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: #e1e2dc; font-size: 12px; font-weight: 600; }
.jl-header .jl-more > div { position: absolute; top: 100%; right: 0; width: 180px; padding: 12px; border: 1px solid #3d443c; background: #1b211b; box-shadow: var(--jl-shadow); }
.jl-header .jl-more a { display: block; padding: 10px 8px; color: #e1e2dc; white-space: nowrap; }
.jl-header .jl-more a:hover { color: #d5b581; }
.jl-header .jl-locations > div { width: 248px; max-height: min(70vh, 620px); overflow: auto; }
.jl-header .jl-nav-group { margin: 12px 8px 4px; color: #bba47f; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.jl-header .jl-nav-group:first-child { margin-top: 2px; }
.jl-header .jl-locations a { padding: 7px 8px; font-size: 12px; }
.jl-header :is(a,summary):focus-visible { outline: 2px solid #d5b581; outline-offset: 3px; }

.jl-header {
  background: var(--jl-editorial-black);
  border-bottom: 1px solid #30342e;
  color: #f5f1e9;
  font-family: "Inter", Arial, sans-serif;
}
.jl-project-directory .jl-header {
  background: var(--jl-editorial-black);
  border-color: #30342e;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.jl-header .jl-header-row { min-height: 84px; }
.jl-header .jl-brand { gap: 13px; font-size: 21px; font-weight: 650; letter-spacing: -.025em; }
.jl-header .jl-brand-mark {
  width: 47px;
  height: 47px;
  border: 1px solid var(--jl-editorial-bronze);
  border-radius: 0;
  background: transparent;
  color: #eadbc6;
  font-family: "Inter", Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
}
.jl-header .jl-brand small { color: #bcbdb5; font-size: 10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.jl-header .jl-menu > nav { gap: 18px; font-size: 12px; font-weight: 600; }
.jl-header .jl-menu > nav > a:not(.jl-button),
.jl-header .jl-locations summary { color: #e1e2dc; }
.jl-header .jl-menu > nav > a:not(.jl-button):hover,
.jl-header .jl-locations summary:hover,
.jl-header .jl-locations a:hover { color: #d9bd91; }
.jl-header .jl-menu .jl-button {
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid #b89b72;
  border-radius: 0;
  background: #b89b72;
  color: #141711 !important;
  font-size: 12px;
  font-weight: 700;
}
.jl-header .jl-menu .jl-button:hover { background: #cfb48b; border-color: #cfb48b; }
.jl-header .jl-locations > div { background: #1b211b; border-color: #3d443c; box-shadow: 0 14px 30px #0004; }
.jl-header .jl-locations a { color: #e1e2dc; }
.jl-header .jl-menu > summary { color: #f5f1e9; border-color: #6b7168; border-radius: 0; }
.jl-header :focus-visible { outline-color: #d4b783; }
.jl-button, .jl-card, .jl-card-actions button, .jl-card-image { border-radius: 0; }
.jl-card { border-color: #d9dbd4; }
.jl-card h3 { font-family: "Inter", Arial, sans-serif; font-weight: 650; }
.jl-card-image { background: #e9e8e2; }
.jl-card-link { color: #2c4b3b !important; text-underline-offset: 4px; }
.jl-card .jl-card-price { align-self: flex-start; min-height: 0; padding: 6px 10px; border: 1px solid #d9cfbd; background: #f7f4ec; color: #493c2c; font-weight: 700; }
.jl-card .jl-card-price:not([data-price-status="indicative"]):not([data-price-status="verified_current"]) { border-color: #d9d9d0; background: #f2f2ef; color: #505a50; }
.jl-card .jl-card-body { gap: 10px; }
.jl-card .jl-card-body dl { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--jl-editorial-line); padding-top: 14px; }
.jl-card .jl-card-body dl > div:nth-child(n+4) { display: none; }
.jl-card .jl-card-body dd { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* Give archive cards one readable size row, then two short supporting facts. */
.jl-archive .jl-grid .jl-card .jl-card-image { aspect-ratio: 4 / 3; }
.jl-archive .jl-grid .jl-card .jl-card-body dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.jl-archive .jl-grid .jl-card .jl-card-body dl > div:first-child { grid-column: 1 / -1; }
.jl-archive .jl-grid .jl-card .jl-card-body dd { display: block; overflow: visible; -webkit-line-clamp: unset; }
.jl-card .jl-card-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.jl-card .jl-card-actions button[data-jl-action="compare"]::before { content: "◇"; font-size: 20px; line-height: 1; }
.jl-card .jl-card-actions button[data-jl-action="saved"]::before { content: "♡"; font-size: 20px; line-height: 1; }
.jl-card .jl-card-actions button[data-jl-action="saved"][aria-pressed="true"]::before { content: "♥"; }
.home-refresh-page #selected-projects .jl-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto;
  gap: 10px 14px;
}
.home-refresh-page #selected-projects .jl-card dl > div:first-child { grid-column: 1; grid-row: 1; }
.home-refresh-page #selected-projects .jl-card dl > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
.home-refresh-page #selected-projects .jl-card dl > div:nth-child(3) { grid-column: 2; grid-row: 1; }
.home-refresh-page #selected-projects .jl-card dd {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.jl-archive { background: var(--jl-editorial-paper); }
.jl-archive .jl-grid { gap: 22px; }
.jl-developer-section { margin: 36px 0 60px; }
.jl-developer-section h2 { margin: 0 0 12px; font: 700 clamp(25px, 3vw, 34px)/1.2 "Inter", Arial, sans-serif; letter-spacing: -.035em; }
.jl-developer-section > p { margin: 0; color: #647066; font: 400 15px/1.6 "Inter", Arial, sans-serif; }
.jl-developer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.jl-developer-grid > li { min-width: 0; }
.jl-developer-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: 180px;
  height: 100%;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--jl-editorial-line);
  background: #fff;
  color: var(--jl-editorial-ink);
  text-decoration: none;
}
.jl-developer-card:hover { border-color: var(--jl-editorial-bronze); background: #fdfcf9; }
.jl-developer-card:focus-visible { outline: 2px solid var(--jl-editorial-bronze); outline-offset: 2px; }
.jl-developer-card-logo { display: flex; align-items: center; width: 100%; height: 86px; }
.jl-developer-card-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 78px; object-fit: contain; object-position: left center; }
.jl-developer-card-copy { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 13px; }
.jl-developer-card-copy strong { font: 700 17px/1.35 "Inter", Arial, sans-serif; overflow-wrap: anywhere; }
.jl-developer-card-copy small { color: #52675a; font: 600 12px/1.4 "Inter", Arial, sans-serif; }
.jl-developer-text-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; margin: 20px 0 0; padding: 0; list-style: none; }
.jl-developer-text-grid li { min-width: 0; border-top: 1px solid var(--jl-editorial-line); }
.jl-developer-text-grid a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 10px 0; color: var(--jl-editorial-ink); font: 600 15px/1.4 "Inter", Arial, sans-serif; text-decoration: none; overflow-wrap: anywhere; }
.jl-developer-text-grid a:hover { color: #28523b; text-decoration: underline; text-underline-offset: 4px; }
.jl-developer-text-grid a:focus-visible { outline: 2px solid var(--jl-editorial-bronze); outline-offset: 2px; }
.jl-developer-text-grid a span { flex: none; color: #647066; }
.jl-developer-more { margin-top: 20px; }
.jl-developer-more > summary {
  width: fit-content;
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 18px;
  border: 1px solid var(--jl-editorial-line);
  background: #fff;
  color: var(--jl-editorial-ink);
  font: 700 14px/1.4 "Inter", Arial, sans-serif;
  cursor: pointer;
}
.jl-developer-more > summary:hover { border-color: var(--jl-editorial-bronze); }
.jl-developer-more > summary:focus-visible { outline: 3px solid var(--jl-editorial-bronze); outline-offset: 3px; }
.jl-archive .jl-filters { background: var(--jl-editorial-paper); }
.jl-archive .jl-directory-filters { position: sticky; top: 66px; z-index: 25; padding: 15px; border: 1px solid var(--jl-editorial-line); box-shadow: var(--jl-shadow); }
.jl-archive .jl-filters :is(input,select,button):focus-visible { outline: 2px solid var(--jl-editorial-bronze); outline-offset: 2px; }
.jl-filter-chips a { min-height: 44px; display: inline-flex; align-items: center; }
.jl-comparison th button { min-height: 44px; }
.jl-combobox-holder { position: relative; }
.jl-search-suggestions { position: absolute; z-index: 95; top: 100%; left: 0; width: min(390px, 90vw); max-height: 350px; overflow: auto; border: 1px solid var(--jl-editorial-line); background: white; box-shadow: var(--jl-shadow); color: var(--jl-editorial-ink); }
.jl-search-suggestions[hidden] { display: none; }
.jl-search-group { margin: 0; padding: 9px 12px 5px; color: #69736a; font: 700 11px/1.3 Inter,sans-serif; text-transform: uppercase; }
.jl-search-suggestions [role="option"] { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; cursor: pointer; font: 600 13px/1.4 Inter,sans-serif; }
.jl-search-suggestions [role="option"]:hover,.jl-search-suggestions [role="option"][aria-selected="true"] { background: #efeee8; }
.jl-search-suggestions small { color: #69736a; font-size: 11px; font-weight: 400; text-align: right; }
.jl-search-empty { margin: 0; padding: 9px 12px; color: #59645b; font-size: 13px; }
.jl-search-suggestions > button { margin: 8px 12px 12px; min-height: 44px; padding: 8px 12px; }
.jl-popular-searches { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; max-width: 1180px; margin: 10px auto 0; font: 12px/1.4 Inter,sans-serif; }
.jl-popular-searches > span { color: #5e685f; font-weight: 700; }
.jl-popular-searches button { min-height: 44px; padding: 7px 12px; border: 1px solid #cbc9bd; border-radius: 0; background: transparent; color: #283b2d; font: inherit; cursor: pointer; }
.jl-popular-searches button:hover { background: #fff; }
.jl-compare-tray { position: fixed; z-index: 80; left: 50%; bottom: 16px; display: flex; align-items: center; gap: 12px; width: min(720px, calc(100% - 32px)); min-height: 58px; padding: 8px 12px; border: 1px solid #a58357; background: #172019; color: #fff; box-shadow: 0 12px 36px #0004; transform: translateX(-50%); }
.jl-compare-tray[hidden] { display: none; }
.jl-compare-tray strong { font-size: 12px; white-space: nowrap; }
.jl-compare-tray-list { display: flex; flex: 1; gap: 5px; overflow: auto; }
.jl-compare-tray-list button { min-height: 40px; padding: 5px 8px; border: 1px solid #5c665b; background: transparent; color: #fff; font: 11px Inter,sans-serif; white-space: nowrap; cursor: pointer; }
.jl-compare-tray > a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 12px; background: #b89b72; color: #172019; font: 700 12px Inter,sans-serif; text-decoration: none; white-space: nowrap; }
body:has(.jl-compare-tray:not([hidden])) .jl-whatsapp-widget { bottom: 92px; }
body:has(.jl-consent:not([hidden])) .jl-whatsapp-widget { bottom: 190px; }
.jl-shortlist-copy { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; margin: 0 0 20px; border: 1px solid #a58357; background: transparent; color: #1c241e; font: 700 13px Inter,sans-serif; cursor: pointer; }
.jl-filter-close { display: none !important; }

/* Keep Jack's approved portrait and give the headline its own clear space. */
.home-refresh-page #top { min-height: 650px; background: #171c19; }
.home-refresh-page #top .home-hero-media { width: 60%; }
.home-refresh-page #top .home-hero-media img { object-position: center 12%; }
.home-refresh-page #top .home-hero-scrim {
  background: linear-gradient(90deg, #171c19 0%, rgba(23,28,25,.98) 37%, rgba(23,28,25,.78) 53%, rgba(23,28,25,.08) 78%);
}
.home-refresh-page #top .home-hero-inner { padding-block: 78px 86px; }
.home-refresh-page #top .home-hero-copy {
  box-sizing: border-box;
  width: min(100%, 610px);
  max-width: 54%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #f6f3eb;
}
.home-refresh-page #top .home-kicker { color: #d5b581; letter-spacing: .15em !important; }
.home-refresh-page #top h1 {
  max-width: none;
  color: #f6f3eb;
  font-family: "Inter", Arial, sans-serif;
  font-size: clamp(42px, 4.5vw, 64px);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: -.06em !important;
}
.home-refresh-page #top .home-hero-lead { max-width: 490px; color: #d2d9d1; font-size: 17px; line-height: 1.6; }
.home-refresh-page #top .home-hero-actions .btn { border-radius: 0; }
.home-refresh-page #top .home-hero-actions .btn-primary { background: #bd9b70; border-color: #bd9b70; color: #171c17; }
.home-refresh-page #top .home-hero-actions .btn-light { border-color: #a7afa5; background: transparent; color: #f6f3eb; }
.home-refresh-page #top .home-hero-contact { color: #d2d9d1; }
.home-refresh-page #top .home-hero-contact a { color: #fff; }
.home-refresh-page #top .home-hero-credentials { border-color: #6c7469; color: #bcc5bb; }
.home-refresh-page #top .home-hero-credentials span { color: #bcc5bb; }

/* The shared project hero stays image-led; the warm reading panel replaces flat dark UI. */
.project-premium-page .hero-editorial { grid-template-columns: minmax(0, 1.25fr) minmax(430px, .85fr); background: var(--jl-editorial-paper); }
.project-premium-page .hero-editorial-copy { background: var(--jl-editorial-paper); color: var(--jl-editorial-ink); }
.project-premium-page.original-media .hero-editorial-copy .project-breadcrumbs { color: #777a70; }
.project-premium-page.original-media .hero-editorial-copy .project-breadcrumbs a:hover { color: #1b251e; }
.project-premium-page.original-media .hero-editorial-copy h1 {
  color: var(--jl-editorial-ink);
  font-family: "Inter", Arial, sans-serif;
  font-size: clamp(40px, 3.7vw, 58px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.04em !important;
}
.project-premium-page.original-media .hero-editorial-copy .eyebrow { color: #8b704c; letter-spacing: .12em; }
.project-premium-page.original-media .hero-editorial-copy .hero-subtitle { color: #3f4940; }
.project-premium-page.original-media .hero-editorial-copy .hero-developer { color: #666d64; }
.project-premium-page .hero-editorial-copy .jl-hero-facts { border-color: #c9ccc3; }
.project-premium-page .hero-editorial-copy .jl-hero-facts > div { border-color: #c9ccc3; }
.project-premium-page .hero-editorial-copy .jl-hero-facts dt { color: #727a70; }
.project-premium-page .hero-editorial-copy .jl-hero-facts dd { color: #1b251e; }
.project-premium-page.original-media .hero-editorial-copy .original-hero-actions .btn-primary,
.project-premium-page.original-media .hero-editorial-copy .original-hero-actions .btn-whatsapp {
  border-color: #a98962;
  border-radius: 0;
  background: #a98962;
  color: #172019;
}
.project-premium-page.original-media .hero-editorial-copy .btn-secondary { border-color: #8d958a; border-radius: 0; color: #243329; }
.project-premium-page .hero-tertiary { color: #2d4836; }
.project-premium-page.original-media .hero-editorial-copy .hero-trust { border-color: #c9ccc3; color: #61695f; }
.project-premium-page.original-media .hero-editorial-copy .hero-trust strong { color: #243329; }

@media (max-width: 1279px) {
  .jl-developer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.jl-filter-sheet-open { overflow: hidden; }
  .jl-header .jl-menu > nav { gap: 0; padding: 10px 20px 18px; background: #171c17; border-color: #3d443c; }
  .jl-header .jl-menu > nav > a:not(.jl-button) { display: flex; align-items: center; min-height: 42px; padding-block: 8px; }
  .jl-header .jl-menu .jl-locations summary { min-height: 42px; }
  .jl-header .jl-locations > div { box-shadow: none; }
  .jl-header .jl-menu > nav { max-height: calc(100dvh - 72px); overflow-y: auto; }
  .jl-header .jl-nav-utilities { border-left: 0; border-top: 1px solid #3d443c; padding: 5px 0; }
  .jl-header .jl-nav-utilities a { min-height: 44px; }
  .jl-header .jl-more > summary { min-height: 42px; }
  .jl-header .jl-more > div { position: static; width: 100%; padding: 0 0 8px 10px; border: 0; box-shadow: none; }
  .jl-header .jl-locations > div { width: 100%; max-height: none; overflow: visible; }
  .jl-archive .jl-more-filters[open]::before { position: fixed; z-index: 10009; inset: 0; background: #101611a8; content: ""; }
  .jl-archive .jl-more-filters[open] > .jl-filters { position: fixed; z-index: 10010; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-height: 75dvh; overflow: auto; margin: 0; padding: 28px 16px calc(24px + env(safe-area-inset-bottom)); border: 0; background: #f7f7f3; box-shadow: 0 -12px 35px #0003; }
  .jl-archive .jl-more-filters[open] > .jl-filters::before { grid-column: 1/-1; content: "Refine projects"; font: 700 15px Inter,sans-serif; }
  .jl-archive .jl-more-filters[open] .jl-filter-close { display: inline-flex !important; grid-column: 1/-1; justify-self: end; min-height: 44px; }
  .jl-compare-tray { bottom: 0; width: 100%; flex-wrap: wrap; }
  .jl-compare-tray-list { order: 3; flex-basis: 100%; }
  body:has(.jl-compare-tray:not([hidden])) .jl-whatsapp-widget { display: none; }
  body:has(.jl-more-filters[open]) .jl-whatsapp-widget { display: none; }
}
@media (max-width: 820px) {
  .jl-developer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jl-developer-text-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-premium-page .hero-editorial { grid-template-columns: 1fr; }
  .jl-archive .jl-directory-filters { position: relative; top: auto; }
  .jl-archive .jl-directory-filters:has(.jl-more-filters[open]) { z-index: 10011; }
}
@media (min-width: 601px) and (max-width: 820px) {
  .home-refresh-page #selected-projects .jl-grid { grid-template-columns: 1fr; width: min(100%, 520px); margin-inline: auto; }
  .home-refresh-page #selected-projects .jl-card { display: flex; flex-direction: column; gap: 0; padding-bottom: 0; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body > * { margin: 0; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body h3 { min-height: 0; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body dl { grid-row: auto; grid-template-rows: auto; padding-top: 12px; }
  .home-refresh-page #selected-projects .jl-card dd { font-size: 15px; line-height: 1.45; }
  .home-refresh-page #selected-projects .jl-card .jl-card-link { order: 1; display: flex; align-self: stretch; align-items: center; justify-content: center; min-height: 48px; margin-top: 8px; background: #17382f; color: #fff !important; text-decoration: none; }
  .home-refresh-page #selected-projects .jl-card .jl-card-link:focus-visible { outline: 3px solid #a58357; outline-offset: 2px; }
  .home-refresh-page #selected-projects .jl-card .jl-card-actions { order: 2; align-self: stretch; margin-top: 2px; padding-top: 0; }
}
@media (max-width: 600px) {
  .jl-archive .jl-grid > .jl-card { display: flex; flex-direction: column; gap: 0; padding-bottom: 0; }
  .jl-archive .jl-grid .jl-card .jl-card-body { display: flex; flex-direction: column; gap: 12px; padding: 18px; }
  .jl-archive .jl-grid .jl-card .jl-card-body > * { margin: 0; }
  .jl-archive .jl-grid .jl-card .jl-card-body h3 { min-height: 0; }
  .jl-archive .jl-grid .jl-card .jl-card-body dl { grid-row: auto; grid-template-rows: auto; }
  .jl-archive .jl-grid .jl-card .jl-card-actions { align-self: stretch; width: 100%; margin-top: 4px; padding-top: 0; }
  .jl-archive .jl-grid .jl-card .jl-card-link { display: flex; align-self: stretch; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 48px; margin-top: 2px; padding: 12px 16px; background: #17382f; color: #fff !important; font-size: 14px; text-align: center; text-decoration: none; }
  .jl-developer-section { margin: 30px 0 44px; }
  .jl-developer-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
  .jl-developer-card { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; min-height: 108px; gap: 10px; padding: 16px; }
  .jl-developer-card-logo { height: 76px; }
  .jl-developer-card-logo img { max-height: 66px; }
  .jl-developer-card-copy { justify-content: center; gap: 7px; }
  .jl-developer-card-copy strong { font-size: 16px; }
  .jl-developer-card-copy small { margin-top: 0; font-size: 13px; }
  .jl-developer-text-grid { grid-template-columns: 1fr; margin-top: 16px; }
  .jl-developer-text-grid a { min-height: 60px; font-size: 15px; }
  .jl-archive .jl-more-filters[open] > .jl-filters { grid-template-columns: 1fr; max-height: 84dvh; }
  .jl-header .jl-header-row { min-height: 66px; }
  .jl-header .jl-brand { font-size: 19px; }
  .jl-header .jl-brand-mark { width: 42px; height: 42px; }
  .home-refresh-page #top { min-height: 0; }
  .home-refresh-page #top .home-hero-media { width: 100%; height: 335px; bottom: auto; }
  .home-refresh-page #top .home-hero-media img { object-position: center 13%; }
  .home-refresh-page #top .home-hero-scrim { background: linear-gradient(180deg, rgba(23,28,25,.04) 0%, rgba(23,28,25,.1) 24%, #171c19 43%, #171c19 100%); }
  .home-refresh-page #top .home-hero-inner { padding-top: 272px; padding-bottom: 26px; }
  .home-refresh-page #top .home-hero-copy { width: 100%; max-width: none; padding: 0; background: transparent; }
  .home-refresh-page #top h1 { font-size: clamp(32px, 8.4vw, 38px); line-height: 1.08; }
  .home-refresh-page #top .home-hero-lead { font-size: 14px; }
  .home-refresh-page #top .home-hero-proof { display: none; }
  .project-premium-page .hero-editorial-copy { padding: 26px 20px 30px; }
  .project-premium-page.original-media .hero-editorial-copy h1 { font-size: clamp(32px, 8.6vw, 40px); }
  .project-premium-page .hero-editorial-copy .jl-hero-facts > div:nth-child(even) { padding-left: 12px; }
  .jl-card .jl-card-body dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-refresh-page #selected-projects .jl-card .jl-card-body h3 { min-height: 0; }
  .home-refresh-page #selected-projects .jl-card dd { font-size: 15px; line-height: 1.45; }
  .home-refresh-page #selected-projects .jl-card { display: flex; flex-direction: column; gap: 0; padding-bottom: 0; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body > * { margin: 0; }
  .home-refresh-page #selected-projects .jl-card .jl-card-body dl { grid-row: auto; grid-template-rows: auto; padding-top: 12px; }
  .home-refresh-page #selected-projects .jl-card .jl-card-link {
    order: 1;
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 8px;
    background: #17382f;
    color: #fff !important;
    text-decoration: none;
  }
  .home-refresh-page #selected-projects .jl-card .jl-card-link:focus-visible { outline: 3px solid #a58357; outline-offset: 2px; }
  .home-refresh-page #selected-projects .jl-card .jl-card-actions { order: 2; align-self: stretch; margin-top: 2px; padding-top: 0; }


  /* Area guides are navigation, so use a concise editorial row on phones. */
  .home-refresh-page .home-area {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
  }
  .home-refresh-page .home-area img {
    width: 100%;
    height: 100%;
    min-height: 158px;
    aspect-ratio: auto;
    object-fit: cover;
  }
  .home-refresh-page .home-area-copy { padding: 14px 15px; }
  .home-refresh-page .home-area-label { margin-bottom: 7px; }
  .home-refresh-page .home-area-copy h3 { font-size: 19px; }
  .home-refresh-page .home-area-copy p { margin-top: 7px; font-size: 12px; line-height: 1.45; }
  .home-refresh-page .home-area-link { margin-top: 9px; font-size: 11px; }

  .home-refresh-page .project-story { gap: 20px; padding: 30px 0; }
  .home-refresh-page .story-media, .home-refresh-page .story-media img { aspect-ratio: 16 / 10; }
  .home-refresh-page .story-copy h3 { font-size: 29px; }
  .home-refresh-page .story-headline { margin-top: 10px; font-size: 16px; }
  .home-refresh-page .story-answer { margin-top: 12px; line-height: 1.6; }
  .home-refresh-page .story-facts { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .project-premium-page .hero-editorial-main .hero-photo-cover { transition: none; }
  .jl-header, .jl-header .jl-header-row { transition: none; }
}

/* Shared reading rhythm across the homepage, discovery, guides and project pages. */
.jl-prose-segment { display: block; }
.jl-prose-segment + .jl-prose-segment { margin-top: .75em; }
#direct-answer { scroll-margin-top: 84px; }
.direct-answer .jl-prose-segment:first-child,
.detail-reader .reader-verdict .jl-prose-segment:first-child { font-weight: 700; }
.home-refresh-page .home-hero-lead,
.home-refresh-page .home-search-stage-copy > p:last-child,
.home-refresh-page .home-section-head > p,
.home-refresh-page .home-service-list p { font-size: 16px; line-height: 1.65; }
.home-refresh-page #top .home-hero-lead { font-size: 16px; line-height: 1.65; }
.home-refresh-page .home-area-copy p { font-size: 14px; line-height: 1.55; }
.home-refresh-page .home-area-link { font-size: 13px; }
.home-refresh-page .home-story-copy p,
.home-refresh-page .story-answer { max-width: 68ch; }

.jl-archive .jl-intro,
.jl-archive .jl-editorial p { max-width: 68ch; font-size: 16px; line-height: 1.7; color: #344238; }
.jl-archive .jl-card-area { font-size: 14px; line-height: 1.5; }
.jl-archive .jl-card dt { font-size: 13px; line-height: 1.4; }
.jl-archive .jl-card dd { font-size: 15px; line-height: 1.5; }
.jl-project-directory .jl-directory-filter-intro { font-size: 15px; line-height: 1.6; }
.jl-project-directory .jl-editorial p { color: #d2d8d2; }
.jl-klcc-guide .jl-klcc-refine-content .jl-editorial p { font-size: 16px; line-height: 1.7; }

.editorial-opening .editorial-narrow,
.article-body-band .editorial-narrow { max-width: min(100%, 760px); }
.editorial-lead,
.section-intro,
.longform-section > p,
.article-bullets { max-width: 68ch; }
.longform-section > p,
.article-bullets { color: #3f4b43; line-height: 1.75; }
.article-bullets li + li { margin-top: 14px; }
.article-visual-band .section-intro { color: #d2d9d5; }

.detail-reader .reader-section > p,
.detail-reader .reader-section > ul,
.detail-reader .reader-section > ol { max-width: 68ch; }
.detail-reader .reader-section .reader-note,
.detail-reader .reader-layout-decisions p { font-size: 15px; line-height: 1.65; }
.discovery-hub-page .hub-hero-copy,
.discovery-hub-page .hub-section-head > p { max-width: 68ch; font-size: 16px; line-height: 1.65; }
.discovery-hub-page .hub-card-copy p { font-size: 15px; line-height: 1.6; }
.jl-legacy-page .content-box p { max-width: 68ch; font-size: 16px; line-height: 1.7; }

/* Keep project imagery at a readable display size, regardless of fact length. */
@media (min-width: 821px) {
  .project-premium-page.original-media:not(.investment-page) .hero-editorial {
    width: min(100%, 1440px);
    min-height: 0;
    margin-inline: auto;
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
    align-items: start;
  }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-media {
    height: clamp(330px, 34vw, 480px);
    min-height: 0;
  }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main,
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main img {
    height: 100%;
    min-height: 0;
  }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main img.hero-photo-cover {
    object-fit: contain;
  }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-copy {
    min-height: 0;
    padding: 34px clamp(28px, 3vw, 52px);
    justify-content: flex-start;
  }
}
.project-premium-page.original-media:not(.investment-page) .hero-editorial-copy .project-breadcrumbs { margin-bottom: 24px; }
.project-premium-page.original-media:not(.investment-page) .hero-editorial-copy .hero-subtitle { margin-top: 14px; font-size: 16px; line-height: 1.5; }
.project-premium-page.original-media:not(.investment-page) .hero-editorial-copy .project-ai-summary { margin-top: 18px; }
.project-premium-page.original-media:not(.investment-page) .hero-editorial-copy .original-hero-actions { margin-top: 20px; }
.project-premium-page.original-media:not(.investment-page) .hero-editorial-copy .hero-trust { margin-top: 18px; }
.project-premium-page.investment-page .project-ai-summary { color: #f6f4ee; border-color: #526459; }
.project-premium-page.investment-page .project-ai-summary dl div { border-color: #526459; }
.project-premium-page.investment-page .project-ai-summary dt { color: #b9c6bc; }
.project-premium-page.investment-page .project-ai-summary-more summary { color: #e0c49b; }
.project-premium-page:not(.original-media) .project-ai-summary { max-width: 680px; padding: 12px 18px; border: 1px solid #d8ddd7; background: #fff; color: #1d2821; }
@media (max-width: 820px) {
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-media,
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main,
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main img { min-height: 0; height: clamp(260px, 58vw, 460px); }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-copy { padding: 28px 24px 34px; }
}
@media (max-width: 520px) {
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-media,
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main,
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-main img { height: clamp(230px, 61vw, 300px); }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-copy { padding: 24px 20px 30px; }
}

/* Preserve every project hero's source ratio; gallery previews sit below the photo. */
.project-premium-page.original-media:not(.investment-page) .hero-editorial-media:not(.hero-editorial-media-empty),
.project-premium-page.original-media:not(.investment-page) .hero-editorial-main,
.project-premium-page.original-media:not(.investment-page) .hero-editorial-main img {
  height: auto;
  min-height: 0;
  max-height: none;
}
.project-premium-page.original-media:not(.investment-page) .hero-editorial-main,
.project-premium-page.original-media:not(.investment-page) .hero-editorial-media:not(.hero-editorial-media-empty) {
  background: var(--jl-editorial-paper);
}
.project-premium-page.original-media:not(.investment-page) .hero-editorial-main img {
  padding: 0;
  object-fit: contain;
}
.project-premium-page.original-media:not(.investment-page) .hero-editorial-thumbs {
  position: static;
  display: flex;
  padding: 10px 12px;
  background: var(--jl-editorial-paper);
}
@media (min-width: 821px) {
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-square {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 1fr);
  }
  .project-premium-page.original-media:not(.investment-page) .hero-editorial-tall {
    grid-template-columns: minmax(0, min(36%, 500px)) minmax(430px, 1fr);
  }
}

@media (max-width: 700px) {
  .project-premium-page .conversion-mobile-bar { gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
  .project-premium-page .conversion-mobile-question { display: none; }
  /* Keep the contact affordance without letting its expanded prompt cover copy. */
  .jl-whatsapp-widget.jl-whatsapp-widget-prompt {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom));
    width: 54px;
    height: 54px;
    min-height: 54px;
    padding: 0;
    border-radius: 50%;
  }
  .jl-whatsapp-widget.jl-whatsapp-widget-prompt span { display: none; }
  .jl-whatsapp-widget.jl-whatsapp-widget-prompt::after { border-radius: 50%; }
}
