/* Refinement layer for the Real Estate cluster (realestate-gallery).
   Scope per the reviewed handoff v2.1: behavior and additions only — the
   approved gallery center and the reviewed sector masthead are untouched.
   This layer carries the sticky menu with its compact logo, the vertical
   Cover Story rail, article crumb / ink rule / share row, Coming soon
   pages, and the branded utility and author headers. The palette is
   mirrored at the .layout- level so pages without the .rg body class
   (author, 404) keep the sector colors. */
.layout-realestate-gallery { --ink: #1a1a1a; --soft: #f7f5f2; --line: #e2ded7; --muted: #7a736c; --accent: var(--vuga-color-accent, #4A5D4E); --sector-head: var(--vuga-font-heading), 'Cormorant Garamond', Georgia, serif; --sector-ui: var(--vuga-font-interface), 'Jost', system-ui, sans-serif; color: var(--ink); }

/* Sticky menu (mandatory): the approved category menu stays pinned at the
   top of the screen; a compact wordmark appears beside it once the masthead
   has scrolled away. Colors, fonts, and composition are unchanged. */
.layout-realestate-gallery .sector-nav[data-realestate-nav] { position: sticky; top: 0; z-index: 40; background: #fff; }
.layout-realestate-gallery .realestate-nav-logo { display: none; align-items: center; padding-right: .9rem; margin-right: .35rem; border-right: 1px solid var(--line); }
.layout-realestate-gallery .realestate-nav-logo strong { font: 600 .72rem/1 var(--sector-ui); letter-spacing: .22em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.rg-scrolled .layout-realestate-gallery .realestate-nav-logo { display: inline-flex; }

/* Cover Story rail (the only homepage addition): vertical magazine block on
   the right — portrait 3:4 cover, up to two text rows, and a link to the
   rubric; Coming soon while the desk is empty. The approved hero, edit
   statement, and gallery grid keep their composition inside the main
   column. */
.layout-realestate-gallery .rg-front { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 0 3rem; max-width: 104rem; margin: 0 auto; align-items: start; }
.layout-realestate-gallery .rg-front .rg-intro { margin-top: 3rem; }
.layout-realestate-gallery .rg-cover { margin-top: 3rem; padding-top: 1.1rem; border-top: 3px solid var(--accent); }
.layout-realestate-gallery .rg-cover h2 { font: 600 .74rem/1.2 var(--sector-ui); letter-spacing: .26em; text-transform: uppercase; color: var(--accent); }
.layout-realestate-gallery .rg-cover-feature { display: block; margin-top: .9rem; }
.layout-realestate-gallery .rg-cover-feature .sector-media { aspect-ratio: 3 / 4; }
.layout-realestate-gallery .rg-cover-feature h3 { font: 500 1.4rem/1.12 var(--sector-head); margin: .6rem 0 .3rem; }
.layout-realestate-gallery .rg-cover-feature small { display: block; color: var(--muted); font: 500 .66rem var(--sector-ui); letter-spacing: .12em; text-transform: uppercase; }
.layout-realestate-gallery .rg-cover-more { display: block; padding: .85rem 0; border-top: 1px solid var(--line); }
.layout-realestate-gallery .rg-cover-more h4 { font: 500 1.05rem/1.25 var(--sector-head); margin: .25rem 0 0; }
.layout-realestate-gallery .rg-cover-more:hover h4 { color: var(--accent); }
.layout-realestate-gallery .rg-cover-all { display: inline-block; margin-top: .9rem; font: 600 .64rem var(--sector-ui); letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.layout-realestate-gallery .rg-cover-soon { margin: .8rem 0 0; color: var(--muted); line-height: 1.55; }

/* The Cover Story rubric page reads as a portrait magazine spread: vertical
   art stays vertical and never borrows the landscape category slots. */
.layout-realestate-gallery .rg-category-gallery--cover { grid-template-columns: repeat(3, 1fr); gap: 2.5rem 1.6rem; }
.layout-realestate-gallery .rg-category-gallery--cover .featured { grid-column: 1 / -1; text-align: center; }
.layout-realestate-gallery .rg-category-gallery--cover .featured .sector-media { aspect-ratio: 3 / 4; max-width: 36rem; margin: 0 auto; }
.layout-realestate-gallery .rg-category-gallery--cover .sector-media { aspect-ratio: 3 / 4; }

/* Approved-but-empty sections publish a Coming soon page in the standard
   category layout until their first articles land. */
.layout-realestate-gallery .rg-coming-soon { grid-column: 1 / -1; text-align: center; padding: 3.2rem 1.5rem; border: 1px dashed var(--line); background: var(--soft); }
.layout-realestate-gallery .rg-coming-soon b { display: block; font: 600 .68rem var(--sector-ui); letter-spacing: .26em; text-transform: uppercase; color: var(--accent); }
.layout-realestate-gallery .rg-coming-soon p { margin: .7rem 0 0; color: var(--muted); }

/* Article page: mono crumb above the kicker, ink rule under the byline, and
   a share row with the canonical clean URL. The approved article grid and
   market sidebar are untouched. */
.layout-realestate-gallery .rg-crumb { display: block; margin: 0 auto .9rem; font: 600 .62rem var(--sector-ui); letter-spacing: .24em; text-transform: uppercase; color: var(--muted); text-align: center; }
.layout-realestate-gallery .rg-crumb a { color: var(--accent); }
.layout-realestate-gallery .rg-byline { padding-bottom: 1rem; border-bottom: 2px solid var(--ink); }
.layout-realestate-gallery .rg-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; max-width: 62rem; margin: 1.1rem auto 0; }
.layout-realestate-gallery .rg-share > span { font: 600 .62rem var(--sector-ui); letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin-right: .2rem; }
.layout-realestate-gallery .rg-share a { border: 1px solid var(--line); padding: .5rem .75rem; font: 600 .62rem var(--sector-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); background: #fff; }
.layout-realestate-gallery .rg-share a:hover { border-color: var(--accent); color: var(--accent); }

/* Author page in the sector voice: interface Author label, portrait photo
   tile, serif name over an ink rule, sector-card article grid. */
.layout-realestate-gallery .sector-wrap { max-width: 76rem; margin: 0 auto; padding: 1.6rem clamp(1rem, 3vw, 2rem) 3.4rem; }
.layout-realestate-gallery .sector-author-page { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1.6rem; align-items: start; padding-bottom: 1.4rem; border-bottom: 2px solid var(--ink); }
.layout-realestate-gallery .sector-author-page-photo { width: 7.5rem; height: 7.5rem; object-fit: cover; background: var(--soft); }
.layout-realestate-gallery .sector-author-page .sector-kicker { font: 600 .7rem var(--sector-ui); letter-spacing: .26em; text-transform: uppercase; color: var(--accent); }
.layout-realestate-gallery .sector-author-page h1 { font: 500 clamp(2rem, 4.4vw, 3.2rem)/1.05 var(--sector-head); margin: .4rem 0 .7rem; }
.layout-realestate-gallery .sector-author-bio { max-width: 44rem; color: #57534e; line-height: 1.6; }
.layout-realestate-gallery .sector-author-title, .layout-realestate-gallery .sector-author-credentials { margin: .45rem 0 0; font: 500 .8rem var(--sector-ui); color: var(--muted); }
.layout-realestate-gallery .sector-card .sector-media { aspect-ratio: 4 / 3; }
.layout-realestate-gallery .sector-card h3 { font: 500 1.15rem/1.2 var(--sector-head); margin: .45rem 0 .3rem; }

/* Utility pages wear the sector's editorial header: interface crumb, large
   Cormorant heading, ink rule; the about body reads as text. */
.layout-realestate-gallery .sector-utility-wrap { max-width: 76rem; margin: 0 auto; padding: clamp(1.6rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem) 3.4rem; }
.layout-realestate-gallery .sector-utility .sector-crumb { font: 600 .7rem var(--sector-ui); letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.layout-realestate-gallery .sector-utility .sector-crumb a { color: var(--accent); }
.layout-realestate-gallery .sector-utility > h1 { font: 500 clamp(2.1rem, 5vw, 3.4rem)/1.06 var(--sector-head); margin: .55rem 0 0; padding-bottom: 1.1rem; border-bottom: 2px solid var(--ink); }
.layout-realestate-gallery .sector-utility .sector-utility-intro { font-size: 1.12rem; line-height: 1.6; color: #57534e; max-width: 44rem; }
.layout-realestate-gallery .sector-utility--about .sector-about-body { max-width: 52rem; font-size: 1.1rem; line-height: 1.7; }
.layout-realestate-gallery .sector-utility--about .sector-about-body p { margin: 0 0 1.4rem; }
.layout-realestate-gallery .sector-utility--about .about-team, .layout-realestate-gallery .sector-utility--about .about-network { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.layout-realestate-gallery .sector-utility--about .about-team h2, .layout-realestate-gallery .sector-utility--about .about-network h2 { font-family: var(--sector-head); }
.layout-realestate-gallery .sector-utility--about .team-member img { border-radius: 50%; background: var(--soft); }
.layout-realestate-gallery .sector-utility--about .team-member .name { font-weight: 600; margin-top: .5rem; }
.layout-realestate-gallery .sector-utility--about .team-member .title, .layout-realestate-gallery .sector-utility--about .team-member .line { font-size: .85rem; color: var(--muted); }

/* Contact page wears the same header; its form speaks the sector language. */
.layout-realestate-gallery .sector-utility #contact-page-title { font: 500 clamp(2.1rem, 5vw, 3.4rem)/1.06 var(--sector-head); margin: .55rem 0 0; padding-bottom: 1.1rem; border-bottom: 2px solid var(--ink); }
.layout-realestate-gallery .vuga-contact-form label { font: 600 .72rem var(--sector-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.layout-realestate-gallery .vuga-contact-form input, .layout-realestate-gallery .vuga-contact-form textarea { width: 100%; border: 1px solid var(--line); padding: .7rem .85rem; font: 400 .95rem var(--vuga-font-body), sans-serif; background: #fff; }
.layout-realestate-gallery .vuga-contact-form input:focus, .layout-realestate-gallery .vuga-contact-form textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent); }
.layout-realestate-gallery .vuga-contact-form button[type="submit"] { border: 0; padding: .8rem 1.4rem; background: var(--ink); color: #fff; font: 600 .78rem var(--sector-ui); letter-spacing: .18em; text-transform: uppercase; cursor: pointer; }
.layout-realestate-gallery .vuga-contact-form button[type="submit"]:hover { background: var(--accent); }

@media (max-width: 1000px) {
  .layout-realestate-gallery .rg-front { grid-template-columns: 1fr; }
  .layout-realestate-gallery .rg-cover { max-width: 26rem; margin: 0 auto; }
}

@media (max-width: 760px) {
  .layout-realestate-gallery .sector-author-page { grid-template-columns: 1fr; }
  .layout-realestate-gallery .sector-author-page-photo { width: 5.5rem; height: 5.5rem; }
  .layout-realestate-gallery .rg-category-gallery--cover { grid-template-columns: 1fr; }
}

/* ---- 2026-09-05 canon width gate (network-wide fix): lift the base
   sector-publication.css 760px squeeze so utility pages fill the shared
   1180px nav/footer container. Same fix as arts/bp/edu/ent. */
.layout-realestate-gallery .sector-utility-wrap { width: min(1180px, 100%); margin: 0 auto; }
.layout-realestate-gallery .sector-utility { width: 100%; max-width: none; margin: 0; }
.layout-realestate-gallery .sector-utility--about > .sector-about-body,
.layout-realestate-gallery .sector-utility--about > .about-team,
.layout-realestate-gallery .sector-utility--about > .about-network { width: 100%; margin-inline: 0; }

/* ---- 2026-09-06 wave 3: no breadcrumb on author/about/data (removed in
   markup); author name, bio, about body and data title read smaller. */
.layout-realestate-gallery .sector-author-page-content h1 { font-size: clamp(1.5rem, 3vw, 2rem) !important; }
.layout-realestate-gallery .sector-author-bio { font-size: .92rem !important; }
.layout-realestate-gallery .sector-about-body { font-size: .95rem !important; }
.layout-realestate-gallery .sector-about-body h1, .layout-realestate-gallery .sector-utility > h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }
.layout-realestate-gallery .data-main h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }

/* ---- 2026-09-06 wave 5: homepage and category containers follow the network standard width (1180px, centered like the nav). */
.layout-realestate-gallery main { max-width: 1180px; margin-left: auto; margin-right: auto; }

/* ---- 2026-09-11 re-7 mobile sticky canon: the masthead (burger, centered
   wordmark, lens) sticks on phones; the category strip scrolls in flow. */
@media (max-width: 760px) {
  .layout-realestate-gallery .sector-masthead--realestate { position: sticky; top: 0; z-index: 40; }
  .layout-realestate-gallery .sector-nav { position: static; }
}
/* ---- 2026-09-14 re-header (user): the desktop loses the burger and the
   masthead lens — the lens closes the sticky menu row at its right edge with
   the same 1180px edge padding as the rubric links (icon flush to the
   container's 1.25rem padding, mirrored left/right). visibility, not
   display, keeps both 1fr auto 1fr grid slots occupied so the wordmark
   stays exactly centered (display:none shifts it — sports-r3 lesson).
   Phones drop the horizontal strip entirely — navigation lives in the
   drawer — and keep the canon bar: burger / centered wordmark / lens. */
@media (min-width: 761px) {
  .layout-realestate-gallery .sector-masthead .sector-menu,
  .layout-realestate-gallery .sector-masthead .sector-actions { visibility: hidden; }
  .layout-realestate-gallery .sector-nav[data-realestate-nav] .realestate-nav-search { display: inline-flex; align-items: center; margin-left: auto; }
  .layout-realestate-gallery .sector-nav[data-realestate-nav] .realestate-nav-search .sector-search-toggle { padding: .5rem 0 .5rem .5rem; }
}
@media (max-width: 760px) {
  .layout-realestate-gallery .sector-nav[data-realestate-nav] { display: none; }
}

/* ---- 2026-09-14 re-category (user): the menu underlines the rubric you are
   on in the brand color; the category head drops the Home crumb and the SEO
   headline — the menu name stands alone on its own line at a smaller size,
   with a single-sentence description (the category-intro class also mutes
   the SEO intro injector). Five stories per page; the rest live behind Next. */
.layout-realestate-gallery .sector-nav[data-realestate-nav] a[aria-current="page"] { color: var(--accent); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 7px; }
.layout-realestate-gallery .rg-category-head h1 { font: 500 clamp(2.2rem, 5vw, 3.4rem)/1.05 var(--sector-head); }
/* ---- 2026-09-14 re-article (user): no crumbs — the accent rubric line
   names the menu category on top; a smaller, more legible headline; the
   photo caption reads italic and quiet; the details rail is gone so the
   body rides the template width; FAQ and sources precede a compact
   left-aligned author signature whose avatar carries the one profile link;
   More Like This closes the page across the template width; body links
   underline in the brand color. */
.layout-realestate-gallery .rg-article>header h1 { font: 500 clamp(1.9rem, 4.2vw, 2.9rem)/1.15 var(--sector-head); letter-spacing: 0; }
.layout-realestate-gallery .rg-article-hero figcaption { font: italic 400 .78rem/1.5 var(--sector-ui); color: var(--muted); margin-top: .55rem; }
.layout-realestate-gallery .rg-article .rg-body.vuga-article-body { max-width: none !important; }
.layout-realestate-gallery .rg-body a { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.layout-realestate-gallery .sector-author--rg { display: flex; align-items: center; gap: .8rem; background: transparent; border: 0; padding: .2rem 0 0; margin: 2.4rem 0 0; }
.layout-realestate-gallery .sector-author--rg .sector-author-avatar { width: 44px; height: 44px; }
.layout-realestate-gallery .sector-author--rg .sector-author-avatar-link { display: inline-flex; flex: 0 0 auto; }
.layout-realestate-gallery .sector-author--rg h2 { margin: 0; font: 600 .95rem/1.25 var(--sector-ui); color: var(--ink); }
.layout-realestate-gallery .sector-author--rg .sector-author-spec { margin: .1rem 0 0; font: 400 .8rem/1.3 var(--sector-ui); color: var(--muted); }
.layout-realestate-gallery .sector-related-row { max-width: none; margin: 3rem 0 1rem; }
/* ---- 2026-09-14 re-about (user): the Newsdesk reads four across — the
   96px circle photo on top (the only link to the author page), the plain
   name below, the short specialization line under it; no roles anywhere.
   The network row links wear the brand color. */
.layout-realestate-gallery .sector-utility--about .team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.25rem; }
.layout-realestate-gallery .sector-utility--about .team-member { text-align: center; }
.layout-realestate-gallery .sector-utility--about .team-member>a { display: inline-block; grid-template-columns: none; }
.layout-realestate-gallery .sector-utility--about .team-member img { grid-row: auto; }
.layout-realestate-gallery .sector-utility--about .team-member .name { margin-top: .6rem; font: 600 1rem/1.25 var(--sector-ui); color: var(--ink); }
.layout-realestate-gallery .sector-utility--about .team-member .line { font: 400 .78rem/1.45 var(--sector-ui); color: var(--muted); margin-top: .25rem; }
.layout-realestate-gallery .sector-utility--about .about-network-links a { color: var(--accent); }
@media (max-width: 760px) {
  .layout-realestate-gallery .sector-utility--about .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---- 2026-09-14 re-utility-links (user): on the utility pages (privacy,
   terms, fair use, advertise — and the sibling text pages) every text link
   reads in the brand color with the brand underline; the family base was
   flattening links to ink with no underline (equal specificity, later
   load), so the scoped rule wins it back. */
.layout-realestate-gallery .sector-utility a { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* ---- 2026-09-14 re-art-links2 (user): every link inside the article text
   reads in the brand color with the brand underline — the Sources list and
   the FAQ answers ride their own tailwind classes (gray text, underline on
   hover only), so they need the scoped rule on top of the body links. */
.layout-realestate-gallery .rg-article section[aria-label="Sources"] a,
.layout-realestate-gallery .rg-article section[aria-label="Frequently asked questions"] a { color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
/* ---- 2026-09-14 re-front-top (user): section one — two columns. The left
   column leads with the latest story: category in the brand color, photo,
   headline, annotation, then the author on its own line over the
   publication date. The right column stacks the four next-latest stories,
   each reading category, photo, headline, author, date. Even gaps
   throughout; both columns draw from the latest articles. */
.layout-realestate-gallery .rg-top { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 0 3rem; max-width: 1180px; margin: 0 auto; padding-top: 2.6rem; align-items: start; }
.layout-realestate-gallery .rg-top-lead a, .layout-realestate-gallery .rg-top-mini a { display: block; color: inherit; text-decoration: none; }
.layout-realestate-gallery .rg-top-cat { display: block; color: var(--accent); font: 700 .64rem/1 var(--sector-ui); letter-spacing: .16em; text-transform: uppercase; }
.layout-realestate-gallery .rg-top-lead .rg-top-cat { margin-bottom: .6rem; }
.layout-realestate-gallery .rg-top-lead .sector-media { aspect-ratio: 4 / 3; }
.layout-realestate-gallery .rg-top-lead h1 { font: 500 clamp(1.7rem, 2.6vw, 2.3rem)/1.15 var(--sector-head); letter-spacing: 0; margin: .7rem 0 0; }
.layout-realestate-gallery .rg-top-dek { margin: .55rem 0 0; color: var(--muted); font-size: .98rem; line-height: 1.55; }
.layout-realestate-gallery .rg-top-meta { display: flex; flex-direction: column; gap: .2rem; margin-top: .9rem; }
.layout-realestate-gallery .rg-top-author { font: 600 .78rem/1.3 var(--sector-ui); color: var(--ink); }
.layout-realestate-gallery .rg-top-date { font: 400 .72rem/1.3 var(--sector-ui); color: var(--muted); }
.layout-realestate-gallery .rg-top-side { display: grid; gap: 1.9rem; align-content: start; }
.layout-realestate-gallery .rg-top-mini .rg-top-cat { margin-bottom: .5rem; }
.layout-realestate-gallery .rg-top-mini .sector-media { aspect-ratio: 3 / 2; }
.layout-realestate-gallery .rg-top-mini h2 { font: 500 1.05rem/1.3 var(--sector-head); margin: .55rem 0 0; }
.layout-realestate-gallery .rg-top-mini .rg-top-meta { margin-top: .55rem; }
@media (max-width: 64rem) {
  .layout-realestate-gallery .rg-top { grid-template-columns: 1fr; gap: 2.6rem 0; }
  .layout-realestate-gallery .rg-top-side { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
}
@media (max-width: 47.99rem) {
  .layout-realestate-gallery .rg-top { padding-inline: 1.1rem; }
  .layout-realestate-gallery .rg-top-side { grid-template-columns: 1fr; }
}
/* ---- 2026-09-14 re-row2 (user): section two — a horizontal row of the
   four latest category-one stories under the rubric name; each card reads
   category, photo, headline, annotation, then the author over the date,
   with the section-one gap rhythm. */
.layout-realestate-gallery .rg-row { max-width: 1180px; margin: 2.8rem auto 0; }
.layout-realestate-gallery .rg-row-head { margin: 0 0 1.3rem; }
.layout-realestate-gallery .rg-row-head a { color: var(--ink); text-decoration: none; font: 600 1.25rem/1.2 var(--sector-head); }
.layout-realestate-gallery .rg-row-head a:hover { color: var(--accent); }
.layout-realestate-gallery .rg-row-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.layout-realestate-gallery .rg-row-card a { display: block; color: inherit; text-decoration: none; }
.layout-realestate-gallery .rg-row-card .rg-top-cat { margin-bottom: .5rem; }
.layout-realestate-gallery .rg-row-card .sector-media { aspect-ratio: 3 / 2; }
.layout-realestate-gallery .rg-row-card h3 { font: 500 1.05rem/1.3 var(--sector-head); margin: .55rem 0 0; }
.layout-realestate-gallery .rg-row-card .rg-top-dek { font-size: .85rem; line-height: 1.5; margin: .45rem 0 0; }
.layout-realestate-gallery .rg-row-card .rg-top-meta { margin-top: .55rem; }
@media (max-width: 64rem) {
  .layout-realestate-gallery .rg-row-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
}
@media (max-width: 47.99rem) {
  .layout-realestate-gallery .rg-row { padding-inline: 1.1rem; }
  .layout-realestate-gallery .rg-row-grid { grid-template-columns: 1fr; }
}
/* ---- 2026-09-14 re-sec3 (user): section three — three equal columns.
   Columns one and two carry the three latest stories of category two and
   category three; their cards share row tracks so the rows align
   horizontally across the two columns. The right column stacks five random
   recent stories (title, annotation, author — categories alternate) over
   the Cover Story state. Cards are text-only: title, annotation, author. */
.layout-realestate-gallery .rg-sec3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); grid-auto-flow: column; gap: 1.5rem 2rem; max-width: 1180px; margin: 2.8rem auto 0; }
.layout-realestate-gallery .rg-sec3-col { display: contents; }
.layout-realestate-gallery .rg-sec3-item { grid-column: 1; }
.layout-realestate-gallery .rg-sec3-item--b { grid-column: 2; }
.layout-realestate-gallery .rg-sec3-side { grid-column: 3; grid-row: 1 / span 3; display: flex; flex-direction: column; gap: 1.5rem; }
.layout-realestate-gallery .rg-sec3-item h3, .layout-realestate-gallery .rg-sec3-rand h3 { margin: 0; font: 500 1.1rem/1.3 var(--sector-head); }
.layout-realestate-gallery .rg-sec3-item h3 a, .layout-realestate-gallery .rg-sec3-rand h3 a { color: var(--ink); text-decoration: none; }
.layout-realestate-gallery .rg-sec3-item h3 a:hover, .layout-realestate-gallery .rg-sec3-rand h3 a:hover { color: var(--accent); }
.layout-realestate-gallery .rg-sec3-dek { margin: .4rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.layout-realestate-gallery .rg-sec3-author { margin-top: .5rem; font: 600 .78rem/1.3 var(--sector-ui); color: var(--ink); }
.layout-realestate-gallery .rg-sec3-cover { margin-top: .4rem; }
/* the front wrapper runs single-column now that the cover rail moved */
.layout-realestate-gallery .rg-front { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 64rem) {
  .layout-realestate-gallery .rg-sec3 { display: block; }
  .layout-realestate-gallery .rg-sec3-col { display: block; }
  .layout-realestate-gallery .rg-sec3-item { margin-top: 1.5rem; }
  .layout-realestate-gallery .rg-sec3-col + .rg-sec3-col::before { content: ""; display: block; height: 1.5rem; }
  .layout-realestate-gallery .rg-sec3-side { margin-top: 2rem; }
}
@media (max-width: 47.99rem) {
  .layout-realestate-gallery .rg-sec3 { padding-inline: 1.1rem; }
}
/* ---- 2026-09-14 re-top-twin (user): section one's right column runs two
   minis per row at a smaller size — smaller type, squarer 4:3 photos — and
   the column spreads its two rows across the lead's height so both columns
   close on roughly the same line (the lead photo eases to 16/10 to keep the
   spread subtle). */
.layout-realestate-gallery .rg-top-lead .sector-media { aspect-ratio: 16 / 10; }
.layout-realestate-gallery .rg-top-side { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-content: space-between; }
.layout-realestate-gallery .rg-top-mini .rg-top-cat { margin-bottom: .4rem; font-size: .6rem; }
.layout-realestate-gallery .rg-top-mini .sector-media { aspect-ratio: 4 / 3; }
.layout-realestate-gallery .rg-top-mini h2 { font: 500 .95rem/1.3 var(--sector-head); margin-top: .5rem; }
.layout-realestate-gallery .rg-top-mini .rg-top-meta { margin-top: .45rem; gap: .15rem; }
.layout-realestate-gallery .rg-top-mini .rg-top-author { font-size: .72rem; }
.layout-realestate-gallery .rg-top-mini .rg-top-date { font-size: .66rem; }
.layout-realestate-gallery .rg-top { align-items: stretch; }
@media (max-width: 47.99rem) {
  .layout-realestate-gallery .rg-top-side { grid-template-columns: 1fr; }
}
/* ---- 2026-09-14 re-sec3-cards (user): the section-three category columns
   upgrade from text-only to full cards — category, photo, headline,
   annotation, then the author over the publication date — while the shared
   row tracks keep both columns aligned row for row. */
.layout-realestate-gallery .rg-sec3-item .rg-top-cat { margin-bottom: .5rem; }
.layout-realestate-gallery .rg-sec3-item .sector-media { aspect-ratio: 3 / 2; }
.layout-realestate-gallery .rg-sec3-item h3 { font: 500 1.05rem/1.3 var(--sector-head); margin: .55rem 0 0; }
.layout-realestate-gallery .rg-sec3-item .rg-sec3-dek { margin-top: .45rem; }
.layout-realestate-gallery .rg-sec3-item .rg-top-meta { margin-top: .55rem; }
/* ---- 2026-09-14 re-edge-gaps (user): below the 1180px container every
   front section keeps side gutters — 1.25rem through the tablet band,
   easing to 1.1rem on phones (travel-r1t canon). */
@media (max-width: 74.94rem) {
  .layout-realestate-gallery .rg-top,
  .layout-realestate-gallery .rg-row,
  .layout-realestate-gallery .rg-sec3 { padding-inline: 1.25rem; }
}
@media (max-width: 47.99rem) {
  .layout-realestate-gallery .rg-top,
  .layout-realestate-gallery .rg-row,
  .layout-realestate-gallery .rg-sec3 { padding-inline: 1.1rem; }
}
