/* Component layer for the Brighton Communities district site.
   Lifted verbatim from the shared Now City component set: numbered argument rows,
   text-beside-image cards, plates, galleries, ledger tables, the ask block.
   No content and no imagery from any prior engagement. Layout rules only. */

.carousel{margin-top:34px}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border:1px solid var(--line);border-radius:10px;background:#fff;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;display:flex;flex-direction:column}
.slide picture{display:block}
.slide img{width:100%;display:block}
.slide figcaption{font-size:13px;color:var(--mute);padding:13px 18px 15px;line-height:1.55;background:#fff}
.cnav{display:flex;align-items:center;gap:12px;margin-top:14px}
.cbtn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-deep);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}
.cbtn:hover{border-color:var(--terra-ink);color:var(--terra-ink)}
.dots{display:flex;gap:9px;align-items:center}
.dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer}
.dot[aria-current="true"]{background:var(--terra)}
.clabel{margin-left:auto;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--mute)}
.plate{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;margin-top:34px}
.plate figcaption{font-size:13px;color:var(--mute);padding:13px 18px 15px;line-height:1.55;background:#fff}
.pg{display:grid;gap:20px;margin-top:32px}
.pg2{grid-template-columns:1fr 1fr}
.pg3{grid-template-columns:repeat(3,1fr)}
.pg figure{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.pg figcaption{font-size:12.5px;color:var(--mute);padding:10px 13px 12px;line-height:1.5}
.ledger{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px}
.ledger th{text-align:left;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--terra-ink);font-weight:700;padding:0 14px 11px;border-bottom:2px solid var(--line)}
.ledger td{padding:13px 14px;border-bottom:1px solid rgba(0,0,0,.07);vertical-align:top;line-height:1.6;color:#4a463f}
.ledger td:first-child{font-family:var(--serif);font-size:15.5px;color:var(--ink-deep);width:27%}
.numlist{margin-top:30px}
.nrow{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:15px 0;border-top:1px solid rgba(0,0,0,.08);align-items:start}
.nrow .n{font-family:var(--serif);font-size:17px;color:var(--terra-ink)}
.nrow .t{font-family:var(--serif);font-weight:700;font-size:16.5px;letter-spacing:0;text-transform:none;color:var(--ink-deep);margin:0 0 3px}
.nrow p{font-size:14px;margin:0}
.ask{background:var(--green);color:#fff;border-radius:12px;padding:38px 40px;margin-top:34px}
.ask h3{color:#fff;font-size:23px}
.ask p{color:#dbe2d2}
.ask strong{color:#fff}
.gallery img{width:100%;display:block}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;font-size:13.5px;color:#f3ecdd;background:linear-gradient(180deg,transparent,rgba(15,13,10,.75));letter-spacing:.04em}
.vibe-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.vibe-card .txt{padding:34px 32px}
.vibe-card .img{min-height:280px;background-size:cover;background-position:center}
.vibe-card.flip .txt{order:2}
@media print{.track{display:block;overflow:visible;border:none;background:none}.slide{break-inside:avoid;margin-bottom:18px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.cnav{display:none}}
@media(max-width:820px){.g2,.g3,.pg2,.pg3{grid-template-columns:1fr}}
@media print{.plate,.pg figure,.card,.nrow,.ask,.statband,.quote,figcaption{break-inside:avoid}.plate img{max-height:4.9in;object-fit:cover;object-position:center}}
@media(max-width:820px){.vibe-card{grid-template-columns:1fr}.vibe-card .img{min-height:220px;order:0!important}}
.plate{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;margin-top:34px}
.plate img{width:100%;display:block}
.plate figcaption{font-size:13px;color:var(--mute);padding:13px 18px 15px;line-height:1.55;background:#fff}
.alt .plate figcaption{background:var(--cream-2,#fbf9f4)}
.dark .plate{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.dark .plate figcaption{background:rgba(255,255,255,.04);color:#a39d8f}

/* Gate panel wordmark. Lives in a page-level style block on the site this chassis came from, so it
   is carried here rather than left unstyled: it is the first element a reader sees. */
#gate .brandmark{font-family:var(--serif);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#d9a26c}
