/* Admin panel styles — extracted from original inline blocks */

/* ===== block #1 ===== */
#adm-toast{position:fixed;bottom:24px;right:24px;background:var(--navy-deep);color:#fff;padding:12px 20px;border-radius:var(--r-lg);font-size:12px;font-weight:500;box-shadow:var(--sh-lg);transform:translateY(20px);opacity:0;transition:var(--tr);z-index:1100;pointer-events:none;max-width:280px}
#adm-toast.show{transform:none;opacity:1}

/* ===== block #2 ===== */
.camp-block-row{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#faf9f7;border:1px solid var(--sand);border-radius:var(--r);transition:.15s}
    .camp-block-row:hover{border-color:var(--gold);background:#fffbf4}
    .camp-block-row.drag-over{border-color:var(--navy);background:#f0f4ff;transform:scale(1.01)}

/* ===== block #3 ===== */
/* Map Admin Styles */
.map-lot-table{width:100%;border-collapse:collapse;font-size:11px}
.map-lot-table th{padding:7px 8px;text-align:left;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:10px;color:var(--muted);border-bottom:2px solid var(--sand);background:#faf9f7;position:sticky;top:0}
.map-lot-table td{padding:6px 8px;border-bottom:1px solid var(--sand);vertical-align:middle}
.map-lot-table tr:hover td{background:#f5f2ec}
.map-lot-table tr.selected-lot td{background:#fff8ed;font-weight:600}
.map-lot-wrap{max-height:340px;overflow-y:auto;border:1px solid var(--sand);border-radius:var(--r-lg)}
.sc-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap}
.sc-on-sale{background:#27ae60}
.sc-pending{background:#8e44ad}
.sc-deposit{background:#e67e22}
.sc-exchanged{background:#c0392b}
.sc-settled{background:#7f8c8d}
.lot-edit-panel{background:#fff;border:1.5px solid var(--gold);border-radius:var(--r-lg);padding:18px;margin-top:14px;display:none}
.lot-edit-panel.open{display:block}
.lot-edit-panel h3{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.status-btn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.status-btn{padding:7px 10px;border-radius:var(--r);border:2px solid transparent;font-size:11px;font-weight:600;cursor:pointer;transition:.15s;text-align:center}
.status-btn:hover{opacity:.85}
.status-btn.active{border-color:rgba(0,0,0,.3)!important;transform:scale(.97)}
.map-col-swatch-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--sand)}
.map-search-lot{padding:7px 12px;border:1px solid var(--sand);border-radius:var(--r);font-size:12px;width:100%;margin-bottom:8px}

/* ===== block #4 ===== */
.lot-col-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#faf9f7;border:1px solid var(--sand);border-radius:var(--r);margin-bottom:6px}
.lot-col-swatch-btn{width:38px;height:38px;border-radius:6px;border:2px solid rgba(0,0,0,.08);cursor:pointer;flex-shrink:0;display:block;position:relative;overflow:hidden}
.lot-col-swatch-btn input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}
.lot-col-label{font-size:12px;font-weight:600;color:var(--ink);flex:1;min-width:90px}
.lot-col-hex{width:90px;font-family:monospace;font-size:12px;padding:7px 10px;border:1px solid var(--sand);border-radius:var(--r);background:#fff;color:var(--ink)}
.lot-col-preview{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}

/* ===== block #5 ===== */
.logo-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.logo-tile{border:2px solid var(--sand);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:all .2s;position:relative;background:#fff}
.logo-tile:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--sh-md)}
.logo-tile.selected{border-color:var(--gold);box-shadow:0 0 0 3px rgba(140,115,76,.2)}
.logo-tile.selected::after{content:'✓';position:absolute;top:7px;right:8px;background:var(--gold);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:20px;text-align:center}
.logo-tile-preview{height:80px;display:flex;align-items:center;justify-content:center;padding:12px;position:relative}
.logo-tile-preview img{max-width:100%;max-height:56px;object-fit:contain;display:block}
.logo-tile-preview.dark{background:#0d204a}
.logo-tile-preview.cream{background:#f5f2ec}
.logo-tile-preview.white{background:#ffffff}
.logo-tile-preview.checker{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;background-color:#fff}
.logo-tile-meta{padding:8px 10px;border-top:1px solid var(--sand);background:#faf9f7}
.logo-tile-name{font-size:11px;font-weight:600;color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-tile-dims{font-size:9px;color:var(--muted);letter-spacing:.06em}
.logo-tile-actions{display:flex;gap:4px;margin-top:5px}
.logo-tile-btn{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--sand);border-radius:3px;cursor:pointer;background:#fff;transition:.15s;font-family:var(--ff-b);color:var(--navy)}
.logo-tile-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.logo-tile-btn.danger{border-color:#fca5a5;color:#c0392b}
.logo-tile-btn.danger:hover{background:#c0392b;color:#fff;border-color:#c0392b}
.logo-placement-row{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:#faf9f7;border:1px solid var(--sand);border-radius:var(--r);margin-bottom:8px}
.logo-placement-label{font-size:12px;font-weight:600;color:var(--ink)}
.logo-placement-preview{height:40px;border:1px solid var(--sand);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:6px 12px;flex:1}
.logo-placement-preview img{max-height:28px;max-width:100%;object-fit:contain}
.logo-preview-panel{border:1px solid var(--sand);border-radius:var(--r-lg);overflow:hidden;margin-bottom:12px}
.logo-preview-bar{padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:#f0eee9;border-bottom:1px solid var(--sand)}
.logo-preview-stage{padding:20px;display:flex;align-items:center;justify-content:center;min-height:80px}
.logo-preview-stage img{max-height:40px;max-width:260px;object-fit:contain}
.logo-lib-search{width:100%;padding:9px 12px;border:1px solid var(--sand);border-radius:var(--r);font-family:var(--ff-b);font-size:12px;margin-bottom:14px;box-sizing:border-box}
.logo-lib-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.logo-filter-btn{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--sand);border-radius:20px;cursor:pointer;background:#fff;transition:.15s;font-family:var(--ff-b);color:var(--muted)}
.logo-filter-btn:hover,.logo-filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.badge-trans{font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 5px;border-radius:3px;background:rgba(0,0,0,.06);color:var(--muted)}

/* ===== block #6 ===== */
.legal-textarea{width:100%;min-height:160px;font-size:12px;line-height:1.7;padding:12px;border:1px solid var(--sand);border-radius:var(--r);resize:vertical;font-family:var(--ff-b);box-sizing:border-box;background:#fff;color:var(--ink)}
.legal-textarea:focus{outline:none;border-color:var(--gold)}

/* ===== block #7 ===== */
.po-row{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;border:1px solid var(--sand);border-radius:var(--r-lg);margin-bottom:8px;cursor:grab;transition:box-shadow .15s,opacity .15s;user-select:none}
.po-row:hover{box-shadow:var(--sh-md)}
.po-row.po-dragging{opacity:.45;box-shadow:var(--sh-lg);cursor:grabbing}
.po-row.po-over{outline:2px solid var(--gold);outline-offset:2px}
.po-drag-handle{font-size:17px;color:var(--muted);flex-shrink:0;line-height:1}
.po-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}
.po-label{flex:1;font-size:13px;font-weight:600;color:var(--ink)}
.po-sublabel{font-size:10px;color:var(--muted);margin-top:1px;font-weight:400}
.po-vis-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;flex-shrink:0}
.po-vis-cb{width:16px;height:16px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}
.po-arrows{display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.po-arrow-btn{background:none;border:1px solid var(--sand);border-radius:3px;width:22px;height:18px;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.15s}
.po-arrow-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.po-pad-ctrl{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.po-pad-slider{width:80px;height:4px;accent-color:var(--navy);cursor:pointer}
.po-preview-strip{display:flex;gap:4px;margin:16px 0 8px;flex-wrap:wrap}
.po-preview-chip{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;background:var(--navy);color:rgba(255,255,255,.7);border-radius:20px;white-space:nowrap}
.po-preview-chip.po-hidden{background:#e5e3df;color:var(--muted)}

/* ===== block #8 ===== */
.typo-font-preview{padding:20px 24px;border:1px solid var(--sand);border-radius:var(--r-lg);background:#faf9f7;margin-bottom:12px}
.typo-preview-h{font-size:28px;font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:8px}
.typo-preview-p{font-size:14px;color:var(--muted);line-height:1.75}
.typo-pair-preview{padding:24px;background:var(--cream);border-radius:var(--r-lg);margin-bottom:16px;border:1px solid var(--sand)}
.typo-pair-h{font-size:32px;font-weight:400;color:var(--ink);line-height:1.15;margin-bottom:12px}
.typo-pair-sub{font-size:16px;font-weight:300;color:var(--navy);margin-bottom:14px}
.typo-pair-body{font-size:14px;color:var(--muted);line-height:1.8;max-width:560px}
.typo-font-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;background:var(--navy);color:#fff;border-radius:3px;margin-bottom:12px}

/* ===== block #9 ===== */
.ml-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.ml-tile{border:1px solid var(--sand);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:var(--tr);cursor:pointer}
.ml-tile:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.ml-thumb{height:100px;display:flex;align-items:center;justify-content:center;background:#f0ede8;overflow:hidden;position:relative}
.ml-thumb img{width:100%;height:100%;object-fit:cover}
.ml-thumb-icon{font-size:32px;color:var(--muted)}
.ml-info{padding:8px 10px}
.ml-name{font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.ml-meta{font-size:9px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}
.ml-cat-badge{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;background:var(--sand);color:var(--muted);border-radius:3px}
.ml-actions{display:flex;gap:4px;padding:6px 8px;border-top:1px solid var(--sand);background:#faf9f7}
.ml-act-btn{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--sand);border-radius:3px;cursor:pointer;background:#fff;transition:.15s;font-family:var(--ff-b);color:var(--navy)}
.ml-act-btn:hover{background:var(--navy);color:#fff}
.ml-act-btn.danger:hover{background:#c0392b;color:#fff;border-color:#c0392b}
.ml-upload-zone{border:2px dashed var(--sand);border-radius:var(--r-lg);padding:28px 20px;text-align:center;cursor:pointer;transition:.2s;background:#faf9f7;margin-bottom:16px}
.ml-upload-zone:hover,.ml-upload-zone.drag-over{border-color:var(--gold);background:#fffbf4}
.ml-filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.ml-filter-btn{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--sand);border-radius:20px;cursor:pointer;background:#fff;transition:.15s;font-family:var(--ff-b);color:var(--muted)}
.ml-filter-btn.active,.ml-filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.ml-empty{text-align:center;padding:40px;color:var(--muted);font-size:13px}

/* ===== block #10 ===== */
.seo-tab-bar{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid var(--sand);margin-bottom:20px;padding-bottom:0}
.seo-tab{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;cursor:pointer;border-radius:4px 4px 0 0;color:var(--muted);background:none;border:none;font-family:var(--ff-b);border-bottom:2px solid transparent;margin-bottom:-2px;transition:.15s}
.seo-tab.active{color:var(--navy);border-bottom-color:var(--navy);background:#f0ede8}
.seo-pane{display:none}.seo-pane.active{display:block}
.seo-preview{background:#fff;border:1px solid var(--sand);border-radius:var(--r-lg);padding:16px;margin-top:12px;font-family:arial,sans-serif}
.seo-prev-url{font-size:12px;color:#1a0dab;margin-bottom:2px}
.seo-prev-title{font-size:18px;color:#1a0dab;margin-bottom:4px;font-weight:400}
.seo-prev-desc{font-size:13px;color:#4d5156;line-height:1.5}
.seo-char-count{font-size:10px;float:right;color:var(--muted);margin-top:2px}
.seo-char-count.warn{color:#e67e22}.seo-char-count.bad{color:#c0392b}
.ad-preview{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:14px 16px;font-family:arial,sans-serif;margin-top:12px}
.ad-prev-domain{font-size:12px;color:#202124;margin-bottom:3px}
.ad-prev-ad{display:inline-block;font-size:10px;background:#fff;border:1px solid #1a73e8;color:#1a73e8;padding:1px 5px;border-radius:3px;margin-right:6px}
.ad-prev-title{font-size:17px;color:#1a0dab;margin-bottom:4px}
.ad-prev-desc{font-size:13px;color:#4d5156;line-height:1.5}
.og-preview{background:#f0f2f5;border-radius:8px;overflow:hidden;margin-top:12px;max-width:480px}
.og-prev-img{height:120px;background:var(--navy);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:12px}
.og-prev-info{padding:12px;background:#fff}
.og-prev-domain{font-size:10px;color:#606770;text-transform:uppercase;margin-bottom:3px}
.og-prev-title{font-size:14px;font-weight:700;color:#1c1e21;margin-bottom:3px}
.og-prev-desc{font-size:13px;color:#606770;line-height:1.4}

/* ===== block #11 ===== */
.crm-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.crm-stat{background:#fff;border:1px solid var(--sand);border-radius:var(--r-lg);padding:16px 18px;text-align:center}
.crm-stat-val{font-family:var(--ff-d);font-size:32px;font-weight:300;color:var(--navy);line-height:1;display:block;margin-bottom:4px}
.crm-stat-lbl{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crm-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.crm-flt-btn{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--sand);border-radius:20px;background:#fff;cursor:pointer;transition:.15s;font-family:var(--ff-b);color:var(--muted)}
.crm-flt-btn.active,.crm-flt-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.crm-table{width:100%;border-collapse:collapse;font-size:11px}
.crm-table th{text-align:left;padding:8px 10px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--sand);white-space:nowrap}
.crm-table td{padding:9px 10px;border-bottom:1px solid var(--sand);vertical-align:top}
.crm-table tr:hover td{background:#faf9f7}
.crm-status{display:inline-block;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px}
.crm-status.new{background:#dbeafe;color:#1d4ed8}
.crm-status.contacted{background:#fef9c3;color:#854d0e}
.crm-status.qualified{background:#dcfce7;color:#15803d}
.crm-status.won{background:#d1fae5;color:#065f46}
.crm-status.lost{background:#fee2e2;color:#991b1b}
.crm-status.archived{background:#f3f4f6;color:#6b7280}
.crm-act-btn{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--sand);border-radius:3px;cursor:pointer;background:#fff;font-family:var(--ff-b);color:var(--navy);transition:.1s}
.crm-act-btn:hover{background:var(--navy);color:#fff}
.crm-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}
.crm-modal-box{background:#fff;border-radius:var(--r-lg);padding:28px;width:min(600px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--sh-lg)}
.crm-modal-title{font-family:var(--ff-d);font-size:22px;font-weight:400;color:var(--navy);margin-bottom:16px}


/* ── Interactive Map / Masterplan Section ─────────────── */
.masterplan-section{background:var(--navy-deep,#060f24);padding:80px 0 0;overflow:hidden}
.masterplan-inner{max-width:1300px;margin:0 auto;padding:0 40px;text-align:center}
.masterplan-inner .eyebrow{color:var(--gold,#c4a97a)}
.masterplan-inner h2{color:#fff;font-size:clamp(28px,4vw,48px);margin-bottom:14px;line-height:1.15}
.masterplan-inner p{color:rgba(255,255,255,.5);font-size:15px;line-height:1.75;max-width:580px;margin:0 auto 48px}
.masterplan-map-outer{position:relative}
.masterplan-frame-wrap{position:relative;width:100%;background:#0a1628}
.masterplan-frame-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold,#c4a97a),transparent 70%);z-index:2;pointer-events:none}
.masterplan-iframe{width:100%;height:720px;border:none;display:block}
.masterplan-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--navy-deep,#060f24);z-index:1;transition:opacity .5s;pointer-events:none}
.masterplan-loading.hide{opacity:0}
.masterplan-spinner{width:40px;height:40px;border:3px solid rgba(196,169,122,.15);border-top-color:var(--gold,#c4a97a);border-radius:50%;animation:spin .8s linear infinite}
.masterplan-footer-hint{display:flex;gap:24px;justify-content:center;padding:12px 20px;background:rgba(0,0,0,.25);flex-wrap:wrap}
.masterplan-hint-item{font-size:11px;color:rgba(255,255,255,.32);letter-spacing:.04em}
@media(max-width:768px){.masterplan-inner{padding:0 20px}.masterplan-iframe{height:520px}.masterplan-footer-hint{gap:12px}}
@media(max-width:480px){.masterplan-iframe{height:380px}.masterplan-section{padding:60px 0 0}}

/* ── Cross-browser + responsive fixes ─────────────── */
/* Safari-compatible button reset */
button{-webkit-appearance:none;appearance:none}
input,select,textarea{-webkit-appearance:none;appearance:none}
/* Safari flex gap polyfill awareness */
.nav-inner,.hero-content,.stats-bar-inner,.ben-grid,.lot-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,24px);width:100%}
/* iOS scroll momentum */
.adm-body,.map-lot-wrap,.adm-nav{-webkit-overflow-scrolling:touch}
/* Prevent text size adjustment on rotation */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Safari smooth scroll */
html{scroll-behavior:smooth;-webkit-scroll-behavior:smooth}
/* Marquee safari */
.marquee-track{-webkit-animation:marquee var(--marquee-speed,28s) linear infinite;animation:marquee var(--marquee-speed,28s) linear infinite}
@-webkit-keyframes marquee{from{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}
/* Smooth reveal animation cross-browser */
.reveal{-webkit-transition:opacity .7s ease,-webkit-transform .7s ease;transition:opacity .7s ease,transform .7s ease}
/* Image rendering */
img{image-rendering:-webkit-optimize-contrast;image-rendering:auto}

/* ── Responsive improvements ───────────────────────── */
@media(max-width:960px){
  .hero-content{padding:80px 32px 60px}
  .campaign-cards{grid-template-columns:1fr 1fr}
  .stats-bar-inner{grid-template-columns:repeat(2,1fr)}
  .stats-bar-item:nth-child(2){border-right:none}
  .nav-links,.nav-actions{display:none!important}
}
@media(max-width:768px){
  .campaign-cards{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .lot-grid{grid-template-columns:repeat(2,1fr)!important}
  .adm-grid{grid-template-columns:1fr!important}
  .promo-stats{flex-direction:column;gap:8px}
  .masterplan-inner{padding:0 16px}
}
@media(max-width:480px){
  .stats-bar-inner{grid-template-columns:1fr 1fr}
  .stats-bar-item{padding:28px 20px}
  .stats-bar-num{font-size:clamp(28px,8vw,44px)!important}
  .lot-grid{grid-template-columns:1fr!important}
  .hero-btns{flex-direction:column;align-items:stretch}
  .btn-primary,.btn-outline,.btn-ghost{text-align:center;justify-content:center}
  .nav-mob span{height:2px}
}
/* Tablet (768-1024) */
@media(min-width:769px)and(max-width:1024px){
  .lot-grid{grid-template-columns:repeat(3,1fr)!important}
  .about-grid{gap:32px}
  .masterplan-iframe{height:560px}
}
/* High DPI */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  .hero-img-panel,.about-img-main-el{image-rendering:auto}
}

/* ── Cross-browser fixes ────────────────────────────────────────────────── */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
input,button,select,textarea{-webkit-appearance:none;appearance:none}
button{-webkit-tap-highlight-color:transparent}
.lot-grid{display:grid!important}
.stats-bar-section,.marquee-wrap{margin-top:0!important}
.marquee-wrap{display:flex!important}
.marquee-track{-webkit-animation:marquee var(--marquee-speed,28s) linear infinite;animation:marquee var(--marquee-speed,28s) linear infinite}
@-webkit-keyframes marquee{from{-webkit-transform:translateX(0)}to{-webkit-transform:translateX(-50%)}}
.adm-body{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}
/* Lot filter Safari fix */
.lot-filter-btn{cursor:pointer;-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center}
/* Safari iframe fix */
.masterplan-ifr{border:none;-webkit-overflow-scrolling:touch}
/* Responsive lot grid */
@media(max-width:768px){.lot-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:480px){.lot-grid{grid-template-columns:1fr!important}.lot-filter-btn{font-size:10px;padding:6px 10px}}

@media(max-width:480px){
  .marquee-item{font-size:9px;gap:18px;padding:0 18px}
  .hero-content{padding:60px 24px 48px}
  .stats-bar-item{padding:24px 16px}
}
/* ── Safari / Chrome parity fixes v2 ──────────────────────────────────── */
html{overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button{-webkit-appearance:none;appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
input,textarea,select{-webkit-appearance:none;appearance:none}
img{max-width:100%;-webkit-user-select:none;user-select:none}
.lot-filter-btn{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center}
.adm-body,.adm-content{-webkit-overflow-scrolling:touch;overflow-y:auto}
.masterplan-ifr{-webkit-overflow-scrolling:touch;border:none}
/* Hero clip-path fix — Safari must not have clip-path on the image panel */
.hero-img-panel{-webkit-clip-path:none!important;clip-path:none!important}
@-webkit-keyframes marquee{from{-webkit-transform:translateX(0)}to{-webkit-transform:translateX(-50%)}}
.reveal{-webkit-transform:translateY(24px);-webkit-transition:opacity .7s ease,-webkit-transform .7s ease;transition:opacity .7s ease,transform .7s ease}
.reveal.visible{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}
@supports(height:100svh){.hero{min-height:100svh}}

/* ── Safari / Chrome cross-browser parity ──────────────────────── */
/* Force hardware acceleration for smooth animations */
.hero-img-panel,.marquee-track,.reveal{-webkit-transform:translateZ(0);transform:translateZ(0)}
/* Safari flex gap fallback (gap not supported in Safari <14) */
.stats-bar-inner{gap:0}
.stats-bar-item{border-right:1px solid var(--sand)}
/* Safari input rendering */
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea{
  -webkit-appearance:none;appearance:none;-webkit-border-radius:0;border-radius:var(--r)
}
/* Safari button styling */
button,.btn-primary,.btn-ghost,.lot-filter-btn{
  -webkit-appearance:none;appearance:none;cursor:pointer
}
/* Fix Safari overflow hidden + border-radius */
.hero,.masterplan-section,.campaign,.about-section,.benefits-section{
  -webkit-transform:translateZ(0);transform:translateZ(0)
}
/* Consistent font rendering */
*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ── Safari-specific hero fixes ───────────────────────────────────────────── */
/* Fix iOS Safari vh units */
@supports (-webkit-touch-callout: none) {
  .hero { min-height: -webkit-fill-available; }
}
/* Ensure hero renders as block-level flex container in all WebKit */
.hero { -webkit-box-orient: vertical; -webkit-box-direction: normal; }
/* Fix hero image rendering in Safari */
.hero-img-bg {
  background-attachment: scroll !important;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: right center;
}
/* Fix hero overlay in Safari */
.hero-img-overlay { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
/* Fix hero panel in Safari */
.hero-img-panel {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}
/* Prevent white flash on hero load in Safari */
.hero-bg-full { -webkit-transform: translateZ(0); transform: translateZ(0); }

/* ── Location section layout ──────────────────────────────────────────────── */
.location-section { padding: 120px 0; background: #fff; }
.location-inner {
  display: grid;
  display: -ms-grid;
  grid-template-columns: 1fr 1fr;
  -ms-grid-columns: 1fr 80px 1fr;
  gap: 80px;
  align-items: stretch;
}
.location-map-wrap {
  position: relative;
  min-height: 480px;
  height: 100%;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  background: var(--navy-mid);
}
.location-map-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
@media (max-width: 960px) {
  .location-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .location-map-wrap { min-height: 360px; }
}
@media (max-width: 480px) {
  .location-section { padding: 80px 0; }
  .location-map-wrap { min-height: 280px; }
}

/* Safari inset shorthand fallback */
.hero-bg-full,.hero-img-panel,.hero-img-bg,.hero-img-overlay,.hero-bg,.hero-noise,.hero-grid,.hero-glow{
  top:0;left:0;right:0;bottom:0;
}
/* Ensure stats bar is always one line */
.stats-bar-inner{display:grid;grid-template-columns:repeat(4,1fr)!important;overflow:hidden}
/* Ensure marquee shows */
.marquee-wrap{display:flex!important;overflow:hidden}
/* Lot card image fallback */
.lot-img img{-webkit-object-fit:cover;object-fit:cover;width:100%;height:100%}
/* Hero buttons hidden when empty */
.hero-actions:empty,.hero-actions:not(:has(*)){display:none!important}

/* ── Final launch fixes ──────────────────────────────────────── */
/* Nav: prevent item wrapping */
.nav-links a{white-space:nowrap}
/* Hero: ensure text stacks cleanly */
.hero-content>*{display:block}
.hero-content h1,.hero-content .hero-eyebrow,.hero-content .hero-sub{display:block}
/* Hero actions: hide when empty */
.hero-actions:empty{display:none!important;height:0;margin:0;padding:0}
/* Lots: ensure grid renders */
#lots-grid{display:grid!important}
/* Stats: single compact line */
@media(max-width:480px){.stats-bar-inner{overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* ══ HERO STACK FIX ══ */
#hero .hero-inner{display:block!important;width:58%!important;max-width:640px!important;padding:0 52px!important;position:relative;z-index:4;flex:1;-webkit-flex:1}
#hero .hero-content{display:block!important;padding-top:136px!important;max-width:100%!important}
#hero .hero-eyebrow{display:block!important;white-space:nowrap!important;margin-bottom:20px!important;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light)}
#hero .hero-eyebrow::before{display:none!important}
#hero h1,#hero-h1{display:block!important;width:100%!important;margin-bottom:20px!important;color:#fff;font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.1;letter-spacing:-.02em}
#hero .hero-sub{display:block!important;max-width:480px!important;margin-bottom:36px!important;font-size:16px;font-weight:300;line-height:1.78;color:rgba(255,255,255,.58)}
#hero .hero-actions:empty{display:none!important;height:0!important;margin:0!important}
@media(max-width:768px){#hero .hero-inner{width:100%!important;padding:0 24px!important}#hero .hero-content{padding-top:100px!important}}
@media(max-width:480px){#hero .hero-content{padding-top:80px!important}#hero h1{font-size:2rem!important}}
/* ═══ END HERO STACK FIX ═══ */

/* ===== block #12 ===== */
.brl-page{min-height:100vh;background:#f8f7f5;font-family:var(--ff-s,-apple-system,BlinkMacSystemFont,sans-serif)}
  .brl-nav{background:var(--navy-deep,#060f24);padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.08)}
  .brl-nav-logo{color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:10px}
  .brl-nav-back{color:rgba(255,255,255,.65);font-size:12px;font-weight:600;text-decoration:none;letter-spacing:.05em;cursor:pointer;transition:.2s}
  .brl-nav-back:hover{color:#fff}
  .brl-hero{background:linear-gradient(135deg,var(--navy-deep,#060f24) 0%,#0d2050 100%);padding:64px 48px 56px;color:#fff}
  .brl-hero h1{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:-.02em}
  .brl-hero p{font-size:15px;color:rgba(255,255,255,.62);max-width:640px;line-height:1.75}
  .brl-search-bar{margin-top:24px;display:flex;gap:0;max-width:480px}
  .brl-search-bar input{flex:1;padding:12px 18px;border:none;border-radius:8px 0 0 8px;font-size:14px;background:#fff;color:#1a1a2e;outline:none}
  .brl-search-bar button{padding:12px 20px;background:var(--gold,#c4a97a);color:#fff;border:none;border-radius:0 8px 8px 0;font-size:13px;font-weight:600;cursor:pointer}
  .brl-body{max-width:1100px;margin:0 auto;padding:48px 24px 80px}
  .brl-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
  .brl-filter-btn{padding:8px 18px;border-radius:20px;border:1px solid var(--sand,#e8e4dc);background:#fff;font-size:12px;font-weight:600;color:var(--ink,#1a1a2e);cursor:pointer;transition:.15s;letter-spacing:.04em}
  .brl-filter-btn:hover,.brl-filter-btn.active{background:var(--navy-deep,#060f24);color:#fff;border-color:var(--navy-deep,#060f24)}
  .brl-category{margin-bottom:48px}
  .brl-cat-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#c4a97a);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--sand,#e8e4dc)}
  .brl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
  .brl-card{background:#fff;border-radius:10px;padding:20px 24px;border:1px solid var(--sand,#e8e4dc);box-shadow:0 1px 4px rgba(0,0,0,.06);transition:.2s;text-decoration:none;display:block;position:relative}
  .brl-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1);border-color:var(--gold,#c4a97a)}
  .brl-card-icon{font-size:22px;margin-bottom:10px}
  .brl-card-title{font-size:14px;font-weight:700;color:var(--navy-deep,#060f24);margin-bottom:6px;line-height:1.4}
  .brl-card-desc{font-size:12px;color:var(--muted,#7a7a8a);line-height:1.65;margin-bottom:12px}
  .brl-card-link{font-size:11px;color:var(--gold,#c4a97a);font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
  .brl-card-link::after{content:"↗";font-size:13px}
  .brl-card-updated{position:absolute;top:14px;right:16px;font-size:10px;color:var(--muted,#7a7a8a)}
  .brl-empty{text-align:center;padding:64px 24px;color:var(--muted,#7a7a8a)}
  .brl-list-view .brl-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 20px}
  .brl-view-toggle{display:flex;gap:6px;margin-left:auto}
  .brl-view-btn{padding:7px 12px;border-radius:6px;border:1px solid var(--sand,#e8e4dc);background:#fff;cursor:pointer;font-size:13px}
  .brl-view-btn.active{background:var(--navy-deep,#060f24);color:#fff;border-color:var(--navy-deep,#060f24)}
  .brl-header-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px}
  .brl-count{font-size:12px;color:var(--muted,#7a7a8a)}
  .brl-hidden{display:none!important}
  @media(max-width:768px){.brl-nav,.brl-hero{padding-left:20px;padding-right:20px}.brl-body{padding:32px 16px 60px}.brl-cards{grid-template-columns:1fr}}
  @media(max-width:480px){.brl-hero h1{font-size:1.5rem}.brl-search-bar{flex-direction:column}.brl-search-bar input,.brl-search-bar button{border-radius:8px}}

/* Lot edit — transform sliders */
.lot-xform-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:11px}
.lot-xform-row label{width:70px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:10px}
.lot-xform-row input[type=range]{flex:1;accent-color:#22c55e;cursor:pointer;min-width:0}
.lot-xform-row .xv{width:56px;text-align:right;font-variant-numeric:tabular-nums;font-family:monospace;font-size:11px;color:var(--muted)}
.lot-xform-row .xr{width:24px;height:22px;border:1px solid var(--sand);background:#faf9f7;color:var(--muted);border-radius:4px;cursor:pointer;font-size:12px;line-height:1;padding:0}
.lot-xform-row .xr:hover{background:#f0ede6;color:var(--ink)}
