/* 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; }
}
