/* A lightweight invitation: the 3D viewer loads only on its own site. */
.township-preview { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; margin:44px 0 56px; background:#11142b; border:1px solid #b497624d; border-radius:6px; box-shadow:0 18px 48px #10103912; text-align:left; scroll-margin-top:125px; }
.township-preview-visual { position:relative; min-width:0; min-height:440px; overflow:hidden; background:#22283a; }
.township-preview-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#060d243b,transparent 35%,#080e22bb); pointer-events:none; }
.township-preview-visual img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:49% center; transition:transform .65s ease; }
.township-preview:hover .township-preview-visual img { transform:scale(1.025); }
.township-preview-badge { position:absolute; z-index:1; top:26px; left:26px; display:flex; align-items:center; gap:10px; padding:10px 15px; background:#10162de8; border:1px solid #d0b88d66; color:#f2e2c6; font:600 10px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.township-preview-badge svg { width:25px; height:25px; flex:none; }
.township-preview-caption { position:absolute; z-index:1; bottom:23px; left:26px; right:20px; color:#fff; font:11px/1.6 Arial,sans-serif; }
.township-preview-copy { padding:clamp(28px,3.5vw,48px); align-self:center; min-width:0; }
.township-preview-copy .township-preview-eyebrow { color:#d6bc90; font:600 10px/1.7 Arial,sans-serif; text-transform:uppercase; letter-spacing:.14em; margin:0 0 19px; }
.township-preview-copy h2 { color:#fff; font-size:clamp(30px,3vw,42px); line-height:1.17; letter-spacing:-.02em; margin:0 0 20px; }
.township-preview-copy h2 em { color:#dec69f; font-weight:400; }
.township-preview-copy > p { color:#e0e0e8; font-size:16px; line-height:1.8; margin:0 0 20px; }
.township-preview-features { display:flex; flex-wrap:wrap; gap:9px 16px; list-style:none; padding:0; margin:0 0 26px; }
.township-preview-features li { color:#e2cfaf; font:11px/1.6 Arial,sans-serif; }
.township-preview-features li::before { content:""; display:inline-block; width:4px; height:4px; background:#c5a66e; margin:0 7px 2px 0; }
.township-preview a.township-preview-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:52px; padding:15px 22px; background:#e3cda6; border:1px solid #e3cda6; color:#11142b; font:600 13px/1.5 Arial,sans-serif; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.township-preview-button span { font-size:22px; line-height:1; }
.township-preview a.township-preview-button:hover { background:#f4e7cf; transform:translateY(-2px); }
.township-preview a:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.township-preview-new-tab { display:block; color:#c9cbd8; font:10px/1.7 Arial,sans-serif; margin-top:12px; }
.township-preview-copy .township-preview-note { color:#b8bbc9; font:11px/1.7 Arial,sans-serif; border-top:1px solid #ffffff20; margin:24px 0 0; padding-top:16px; }
@media(max-width:767px) {
  .township-preview { grid-template-columns:1fr; margin:32px 0 40px; }
  .township-preview-visual { min-height:0; aspect-ratio:16/10; }
  .township-preview-copy { padding:28px 24px; }
  .township-preview-badge { top:18px; left:18px; font-size:9px; }
  .township-preview-caption { bottom:16px; left:18px; }
  .township-preview a.township-preview-button { width:100%; gap:12px; padding:15px 16px; }
}
@media(prefers-reduced-motion:reduce) { .township-preview-visual img,.township-preview a.township-preview-button { transition:none; transform:none!important; } }
