/* ════════════════════════════════════════════════════════════════════════
   TACTILE — the "not flat" layer shared by every public page (Sept 2026).
   Loaded last, after each page's own styles. The brutalist look stays (hard
   edges, ink, orange); what it adds is response: things you can click lift
   onto an offset shadow, buttons press in, fields light up when you point at
   them or type in them, hint text is readable, and the FAQ answers the mouse.
   Everything that moves stops for visitors who ask for reduced motion.
   ════════════════════════════════════════════════════════════════════════ */
:root{--t-hot:var(--ab-hot,#ff3d00);--t-btn:var(--ab-hot-btn,#df3500);--t-ink:var(--ab-ink,#0a0a0a);--t-ease:cubic-bezier(.2,.8,.2,1)}

/* ── 1. Hint text you can read ────────────────────────────────────────── */
/* The theme set every placeholder to 11 px spaced capitals ("JUAN DELA CRUZ"),
   which read as a label, not an example. */
html body input::placeholder,html body textarea::placeholder{text-transform:none !important;letter-spacing:0 !important;font-family:'Inter',system-ui,sans-serif !important;font-size:14px !important;font-weight:500 !important;opacity:1 !important}

/* ── 2. Fields answer the mouse and the keyboard ──────────────────────── */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=file]):not([type=color]),select,textarea){transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
@media(hover:hover){
  html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=file]):not([type=color]),select,textarea):not(:focus):not(:disabled):not([readonly]):hover{border-color:var(--t-hot) !important}
}
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=file]):not([type=color]),select,textarea):focus{border-color:var(--t-hot) !important;box-shadow:0 0 0 3px rgba(255,61,0,.28) !important;outline:none !important}
html body :is(input[type=checkbox],input[type=radio]){accent-color:var(--t-btn)}

/* ── 3. Buttons that press ────────────────────────────────────────────── */
html body :is(button,[role=button],.btn,[class*="-btn"],[class*="btn-"]):not(:disabled):not(.floating-btn):not(.mobile-menu-btn):not([class*="leaflet"]):not([class*="maplibre"]):not(.glg-nav):active{transform:translate(2px,2px) !important}
/* The solid call-to-action buttons lift onto an ink shadow when pointed at. */
@media(hover:hover){
  html body :is(.submit-btn,.cta-btn,.btn-gold,.glra-btn:not(.glra-btn-ghost),.modal-inquire-btn,.calculate-btn,.view-all-btn,.broker-btn-primary,.print-btn,.comm-btn):not(:disabled){transition:transform .16s var(--t-ease),box-shadow .16s var(--t-ease),background-color .18s,color .18s !important}
  html body :is(.submit-btn,.cta-btn,.btn-gold,.glra-btn:not(.glra-btn-ghost),.modal-inquire-btn,.calculate-btn,.view-all-btn,.broker-btn-primary,.print-btn,.comm-btn):not(:disabled):hover{transform:translate(-2px,-2px) !important;box-shadow:4px 4px 0 var(--t-ink) !important}
  html body :is(.submit-btn,.cta-btn,.btn-gold,.glra-btn:not(.glra-btn-ghost),.modal-inquire-btn,.calculate-btn,.view-all-btn,.broker-btn-primary,.print-btn,.comm-btn):not(:disabled):active{transform:translate(2px,2px) !important;box-shadow:0 0 0 var(--t-ink) !important}
}
html body :is(button,a,[role=button],summary):focus-visible{outline:3px solid var(--t-hot) !important;outline-offset:3px !important}

/* ── 4. Cards you can open lift onto an orange shadow ─────────────────── */
/* The theme deliberately stopped every card moving on hover; the result was
   a page that never answered the mouse. Only cards that go somewhere lift. */
@media(hover:hover){
  html body :is(a.tool-card,.tool-card[onclick],a.area-card,.area-card[onclick],a.resource-card,.resource-card[onclick],a.blog-card,.blog-card[onclick],a.nh-card,.nh-card[onclick],a.arth-card,.arth-card[onclick],.qs-card[onclick],a.qs-card){transition:transform .22s var(--t-ease),box-shadow .22s var(--t-ease),background-color .2s !important}
  html body :is(a.tool-card,.tool-card[onclick],a.area-card,.area-card[onclick],a.resource-card,.resource-card[onclick],a.blog-card,.blog-card[onclick],a.nh-card,.nh-card[onclick],a.arth-card,.arth-card[onclick],.qs-card[onclick],a.qs-card):hover{transform:translate(-4px,-4px) !important;box-shadow:6px 6px 0 var(--t-btn) !important;position:relative;z-index:2}
  html body .section .prop-card{transition:transform .22s var(--t-ease),box-shadow .22s var(--t-ease),background-color .2s !important}
  html body .section .prop-card:hover{transform:translate(-4px,-4px) !important;box-shadow:6px 6px 0 var(--t-btn) !important;position:relative;z-index:3}
  html body .section .prop-card:hover .prop-card-image img{transform:scale(1.045) !important;transition:transform .6s var(--t-ease) !important}
  html body .prop-card .prop-card-image{overflow:hidden}
}
/* Cards that are only text still get a quiet edge on hover, not a jump. */
@media(hover:hover){
  html body :is(.testimonial-card,.value-card,.step-card,.section-card){transition:box-shadow .22s var(--t-ease) !important}
  html body :is(.testimonial-card,.value-card,.step-card,.section-card):hover{box-shadow:inset 4px 0 0 var(--t-btn) !important}
}

/* ── 5. The FAQ answers the mouse ─────────────────────────────────────── */
html body .faq-item summary{transition:background-color .18s,padding-left .22s var(--t-ease),color .18s !important}
@media(hover:hover){html body .faq-item summary:hover{background:rgba(255,61,0,.06) !important;padding-left:12px !important}}
html body .faq-item[open]{box-shadow:inset 4px 0 0 var(--t-btn) !important}
html body .faq-item[open] summary{padding-left:14px !important;color:var(--ab-hot-text,#c02e00) !important}
html body .faq-item[open] .faq-answer{padding-left:72px !important;animation:tFaq .3s var(--t-ease) both}
@media(max-width:560px){html body .faq-item[open] .faq-answer{padding-left:14px !important}}
html body .faq-item summary::after{transition:transform .25s var(--t-ease),color .2s !important}
html body .faq-item[open] summary::after{color:var(--ab-hot-text,#c02e00) !important}
@keyframes tFaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ── 6. Reduced motion ────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html body *{transition-duration:.01ms !important}
  html body .faq-item[open] .faq-answer{animation:none}
  html body :is(a.tool-card,.tool-card[onclick],a.area-card,a.resource-card,a.blog-card,a.nh-card,a.arth-card,.section .prop-card):hover{transform:none !important}
}

/* ── Phone menu: the X gets its own solid top bar ────────────────────────────
   The X floated over the menu with a see-through fill, so the menu's first
   divider cut across it and every divider slid through it as the menu scrolled.
   A sticky ink bar now runs across the top of the menu (it slides in with the
   menu, unlike a fixed one), carries the divider line itself, and sits under
   the X; links scroll away beneath it. The X is solid and lines up with the
   24px menu column. */
html body .mobile-overlay::before{
  content:"";display:block;flex:0 0 auto;align-self:stretch;
  position:sticky;top:-60px;z-index:3; /* sticky counts from inside the 60px padding */
  height:74px;margin:-60px -24px 0;
  background:#0a0a0a;border-bottom:1px solid rgba(241,238,233,.2);
}
html body .mobile-overlay .mobile-overlay-links{border-top:0 !important;margin-top:0 !important}
html body .mobile-overlay .close-menu{
  position:fixed !important;top:14px !important;right:24px !important;left:auto !important;
  width:46px !important;height:46px !important;z-index:5500 !important;
  background:#0a0a0a !important;border:1px solid rgba(241,238,233,.45) !important;
  border-radius:0 !important;color:#f1eee9 !important;
  -webkit-tap-highlight-color:transparent;
  transition:opacity .2s ease,visibility .2s ease,background-color .15s,border-color .15s,transform .1s !important;
}
/* A tap on a phone leaves :hover stuck on, which left the X half-orange. */
@media (hover:none){
  html body .mobile-overlay .close-menu:hover{background:#0a0a0a !important;border-color:rgba(241,238,233,.45) !important}
}
html body .mobile-overlay .close-menu:active{background:var(--ab-hot,#df3500) !important;border-color:var(--ab-hot,#df3500) !important;transform:scale(.94)}
html body .mobile-overlay .close-menu:focus-visible{outline:2px solid #ff3d00;outline-offset:3px}

/* ── Page headlines: the -3px tracking ate the word spaces on a phone
   ("PROPERTIESFOR SALE"). Give the gap back. */
html body .page-hero h1{word-spacing:.1em}
@media(max-width:640px){html body .page-hero h1{letter-spacing:-1.5px !important}}

/* ── Icons sit in the middle of their slot ──────────────────────────────────
   Every page reserves a 1em-wide slot per icon (min-width:1em, against layout
   shift) but left the glyph at the slot's left edge. A narrow glyph like the
   menu's X then sat 4-5px left of centre in its square button. */
html body :is(i.fas,i.far,i.fab,i.fa,i.fa-solid,i.fa-regular,i.fa-brands){text-align:center}

/* ── Phone footer: two columns, not one very long list ─────────────────────
   One column made the footer longer than a whole screen of links on every
   page. The brand block spans the top; link columns pair up; an odd last
   column (Company + Contact) takes the full width. Social icons line up with
   the text above them instead of floating in the middle. */
@media(max-width:640px){
  html body footer .footer-content{grid-template-columns:1fr 1fr !important;column-gap:20px !important;row-gap:30px !important}
  html body footer .footer-content>.footer-col{min-width:0}
  html body footer .footer-content>.footer-col:first-child,
  html body footer .footer-content>.footer-col:last-child:nth-child(even){grid-column:1/-1}
  html body footer .footer-social{justify-content:flex-start !important}
  html body footer .footer-col ul li a{display:flex;align-items:center;min-height:40px;overflow-wrap:anywhere}
}

/* ── Credentials strip on a phone: a proper grid ───────────────────────────
   Five items in two columns left the fifth alone with the dividers only
   between some of the cells. Every cell now has its lines, and an odd last
   item spans the full width. */
@media(max-width:600px){
  html body .trust-grid .trust-item{border-right:1px solid var(--ab-line) !important;border-bottom:1px solid var(--ab-line) !important}
  html body .trust-grid .trust-item:nth-child(2n){border-right:0 !important}
  html body .trust-grid .trust-item:last-child:nth-child(odd){grid-column:1/-1;border-right:0 !important}
  html body .trust-grid .trust-item:last-child,
  html body .trust-grid .trust-item:nth-last-child(2):nth-child(odd){border-bottom:0 !important}
}

/* ── Leftover from the old gold theme: a 100px line centred under every page
   headline, under text that is left-aligned. Read as a stray mark. */
html body .page-hero::after{display:none !important}

/* ── Arthaland pages: their own button colour, not the site's orange ────────
   These pages always run in dark mode, and the theme's
   `body.dark-mode a.cta{background:#df3500 !important}` outranked each page's
   own `[data-x] .cta` rule, so every main button turned orange with
   near-black text. Each page's accent is restored here. */
html[data-arth] body a.cta:not(.ghost){background:var(--bone) !important;border-color:var(--bone) !important;color:#0a0a0b !important}
html[data-sondris] body a.cta:not(.ghost){background:var(--brass) !important;border-color:var(--brass) !important;color:#15100a !important}
html[data-eluria] body a.cta:not(.ghost){background:var(--sage) !important;border-color:var(--sage) !important;color:#121611 !important}
html[data-liv] body a.cta:not(.ghost){background:var(--teal) !important;border-color:var(--teal) !important;color:#0d1416 !important}
html[data-una] body a.cta:not(.ghost){background:var(--clay) !important;border-color:var(--clay) !important;color:#1a0f0a !important}
html[data-lucima] body a.cta:not(.ghost){background:var(--champ) !important;border-color:var(--champ) !important;color:#14120c !important}
@media(hover:hover){html:is([data-arth],[data-sondris],[data-eluria],[data-liv],[data-una],[data-lucima]) body a.cta:not(.ghost):hover{background:#fff !important;border-color:#fff !important;color:#0a0a0b !important}}

/* Arthaland pages on a phone: the closing buttons were three different
   widths; the certification tags wrapped 3 + 1; each building's fact row
   wrapped its third fact onto a line of its own behind a stray divider. */
@media(max-width:640px){
  html:is([data-arth],[data-sondris],[data-eluria],[data-liv],[data-una],[data-lucima]) .close-btns{display:grid !important;grid-template-columns:1fr;gap:12px}
  html:is([data-arth],[data-sondris],[data-eluria],[data-liv],[data-una],[data-lucima]) .close-btns .cta{justify-content:center;width:100%;box-sizing:border-box;padding-left:16px !important;padding-right:16px !important}
  html:is([data-arth],[data-sondris],[data-eluria],[data-liv],[data-una],[data-lucima]) .cert-list{display:grid !important;grid-template-columns:repeat(4,1fr);gap:8px}
  html:is([data-arth],[data-sondris],[data-eluria],[data-liv],[data-una],[data-lucima]) .cert-list li{text-align:center;padding:11px 4px !important}
  html[data-arth] .pl-facts{display:grid !important;grid-template-columns:1fr 1fr}
  html[data-arth] .pl-facts span{padding:11px 12px 11px 0 !important;border-left:0 !important}
  html[data-arth] .pl-facts span:nth-child(2n){padding-left:14px !important;border-left:1px solid var(--line) !important}
  html[data-arth] .pl-facts span:nth-child(n+3){border-top:1px solid var(--line)}
}

/* ── Tables on a phone (see TABLE-SCROLL in main.js) ──────────────────────
   break-word, unlike anywhere, does not shrink a column below its longest
   word, so words stay whole; the wrapper scrolls sideways instead. */
html body :is(td,th){overflow-wrap:break-word}
.glra-tbl-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.glra-tbl-scroll>table{margin-top:0}

/* ── Shortcut chip rows on a phone: even grids, no orphan on a line alone ──
   Commission (6 chips) wrapped 5 + 1; the loan calculator's rate and term
   chips wrapped into ragged pairs. */
@media(max-width:640px){
  html body #commissionButtons{display:grid !important;grid-template-columns:repeat(6,1fr);gap:6px}
  html body #commissionButtons .comm-btn{padding:10px 0 !important;text-align:center;min-width:0;display:flex;align-items:center;justify-content:center}
  html body .presets{display:grid !important;grid-template-columns:repeat(3,1fr);gap:6px}
  html body .presets button{min-height:38px;padding:6px 4px !important;text-align:center;line-height:1.2;display:flex;align-items:center;justify-content:center}
}

/* Stacked newsletter form on a phone: the full-width Subscribe button kept
   its label at the left edge. */
html body .newsletter-form button{justify-content:center;text-align:center}

/* ── Home page on a phone ─────────────────────────────────────────────────── */
/* Section intros: at 880px the header drops to one column, but the paragraph
   and eyebrow kept `grid-column:2/-1`, which made an implicit second column
   and squeezed the text into a 150px sliver down the right-hand side. */
@media(max-width:880px){
  html body :is(.section,.resources-section,.testimonials,.contact-form-section,.faq-section,.how-it-works,.arth-feat) .section-header>*{grid-column:1/-1 !important;justify-self:start !important;text-align:left !important}
  html body :is(.section,.resources-section,.testimonials,.contact-form-section,.faq-section,.how-it-works,.arth-feat) .section-header>div:empty{display:none}
}
/* FAQ: an empty <span> in each question took the third grid cell and pushed
   the "+" onto a line of its own under the question (desktop too). */
html body .faq-item summary>span:empty{display:none}
/* Broker buttons wrapped 2 + 1; now an even grid, an odd last one full width. */
@media(max-width:640px){
  html body .broker-contact-buttons{display:grid !important;grid-template-columns:1fr 1fr;gap:10px}
  html body .broker-contact-buttons>*{justify-content:center;text-align:center;margin:0 !important}
  html body .broker-contact-buttons>*:last-child:nth-child(odd){grid-column:1/-1}
  /* Popular searches: one row that scrolls sideways instead of 3 + 2. */
  /* contain:inline-size keeps the row's own width out of the hero column's
     sizing; without it the column grew to fit every chip and the whole hero
     ran off the right edge. */
  html body .hx-chips{contain:inline-size;min-width:0;max-width:100%;flex-wrap:nowrap !important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  html body .hx-chips::-webkit-scrollbar{display:none}
  html body .hx-chips>*{flex:none}
  /* Map key and toggles wrapped 3 + 1: a two-column grid, CTA full width. */
  html body .home-map-tools{display:grid !important;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
  html body .home-map-tools .home-map-sp{display:none}
  html body .home-map-tools .home-map-btn{justify-content:center;margin:0 !important;width:100%;box-sizing:border-box}
  html body .home-map-tools .home-map-btn.is-cta{grid-column:1/-1}
}
/* Arthaland tiles: "31 STOREYS" vanished against a bright sky. */
html body .arth-card::after{background:linear-gradient(180deg,rgba(5,5,6,.72) 0%,rgba(5,5,6,.25) 30%,rgba(5,5,6,0) 50%,rgba(5,5,6,.86) 100%) !important}
html body .arth-top{color:rgba(236,235,231,.85) !important;text-shadow:0 1px 8px rgba(0,0,0,.55)}

/* ── 9. Calculator pages look like the homepage (Oct 2026) ─────────────── */
/* Rafael: "the boxes look plain". The 17 calculators share .calc-card,
   .input-group and .section-divider, so one layer here lifts them all:
   cards stand on an offset ink shadow like the homepage search panel, the
   header carries an orange rule and icon tile, fields are solid white
   slabs that lift when you point at them, and hints are plain readable
   text instead of typewriter capitals. */
html body .calc-card{border:2px solid var(--t-ink) !important;box-shadow:8px 8px 0 var(--t-ink) !important;overflow:visible !important;margin-bottom:34px !important}
html body.dark-mode .calc-card{border-color:#3a3833 !important;box-shadow:8px 8px 0 rgba(223,53,0,.55) !important}
html body .calc-card-header{position:relative;padding:20px 24px 18px !important;border-bottom:0 !important;background:#0a0a0a linear-gradient(135deg,#141412 0%,#0a0a0a 60%) !important}
html body .calc-card-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--t-btn) 0 64px,rgba(255,61,0,.35) 64px 100%)}
html body .calc-card-header h2{font-size:19px !important;gap:12px !important}
html body .calc-card-header h2 i{width:34px;height:34px;display:inline-flex !important;align-items:center;justify-content:center;background:var(--t-btn);color:#fff !important;font-size:15px !important;flex-shrink:0;box-shadow:3px 3px 0 rgba(255,255,255,.18)}
html body .calc-card-header p{margin-top:10px !important;margin-left:46px !important;color:rgba(241,238,233,.78) !important}
html body .calc-body{padding:26px 24px 22px !important;background:var(--ab-paper) linear-gradient(180deg,rgba(10,10,10,.025),transparent 120px) !important}
html body .input-group{margin-bottom:18px !important}
html body .input-group label{color:var(--t-ink) !important;opacity:.82;font-size:11.5px !important}
html body.dark-mode .input-group label{color:#f1eee9 !important}
html body .input-group :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select){background:#fff !important;border:2px solid var(--t-ink) !important;min-height:52px;padding:13px 16px !important;font-size:16px !important;font-weight:700 !important;box-shadow:3px 3px 0 rgba(10,10,10,.14) !important;transition:transform .16s var(--t-ease),box-shadow .16s var(--t-ease),border-color .16s !important}
html body.dark-mode .input-group :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select){background:#1a1917 !important;border-color:#4a4843 !important;box-shadow:3px 3px 0 rgba(0,0,0,.5) !important}
@media(hover:hover){html body .input-group :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select):not(:focus):hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--t-btn) !important}}
html body .input-group :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select):focus{box-shadow:5px 5px 0 var(--t-btn),0 0 0 3px rgba(255,61,0,.22) !important}
html body .input-hint{font-family:'Inter',system-ui,sans-serif !important;font-size:12.5px !important;letter-spacing:0 !important;font-weight:500 !important;line-height:1.55 !important;margin-top:8px !important}
html body .section-divider{display:flex !important;align-items:center;gap:10px;border-top:2px dashed var(--ab-line,#d6d1c7) !important;padding-top:22px !important;margin:28px 0 16px !important;font-weight:800 !important;font-family:'JetBrains Mono',monospace}
html body .section-divider::before{content:'';width:22px;height:4px;background:var(--t-btn);flex-shrink:0}
html body :is(.alarm,.result-block,.result-item,.result-mini,.vs-card,.phase){box-shadow:4px 4px 0 rgba(10,10,10,.12)}
html body.dark-mode :is(.alarm,.result-block,.result-item,.result-mini,.vs-card,.phase){box-shadow:4px 4px 0 rgba(0,0,0,.5)}
@media(max-width:560px){
  html body .calc-card{box-shadow:5px 5px 0 var(--t-ink) !important;margin-right:5px}
  html body .calc-card-header{padding:18px 18px 16px !important}
  html body .calc-card-header p{margin-left:0 !important}
  html body .calc-body{padding:22px 18px 18px !important}
}
@media(prefers-reduced-motion:reduce){html body .input-group :is(input,select){transition:none !important}}

/* ── 10. No side scrollbar on the page itself (Oct 2026) ───────────────── */
/* The orange reading-progress bar along the top already shows how far down
   you are, so the page's own orange scrollbar on the right was a second,
   competing indicator. Inner scroll boxes (tables, menus) keep theirs. */
html{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0 !important;height:0 !important;display:none}

/* ── 11. Brand icons without the 102 KB brands font (Oct 2026) ─────────── */
/* Only five brand icons are used (Facebook, Messenger, Instagram, Viber,
   WhatsApp). Drawing them as masks means the Font Awesome Brands webfont is
   never requested; colour still follows the text colour. Paths: Font Awesome
   Free 6.0.0, CC BY 4.0. */
html body .fab{font-family:inherit !important;font-weight:400 !important}
html body .fab::before{content:"" !important;font-family:inherit !important;display:inline-block;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
html body .fab.fa-facebook-f::before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'><path d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'><path d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/></svg>")}
html body .fab.fa-facebook-messenger::before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z'/></svg>")}
html body .fab.fa-instagram::before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/></svg>")}
html body .fab.fa-viber::before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z'/></svg>")}
html body .fab.fa-whatsapp::before{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/></svg>")}


/* ── 12. Premium motion (Oct 2026) — driven by the PREMIUM MOTION block in main.js ── */
:root{--gm-ease:cubic-bezier(.16,1,.3,1)}
/* Page changes: the old page lifts away, the new one settles up into place. */
@keyframes gmOut{to{opacity:0;transform:translateY(-10px)}}
@keyframes gmIn{from{opacity:0;transform:translateY(14px)}}
::view-transition-old(root){animation:gmOut .22s cubic-bezier(.4,0,1,1) both !important}
::view-transition-new(root){animation:gmIn .42s var(--gm-ease) both !important}
/* Headings rise word by word from behind a clip line. */
html.gm .gm-head .gm-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
html.gm .gm-head .gm-wi{display:inline-block;transform:translateY(105%);transition:transform .9s var(--gm-ease);transition-delay:calc(var(--i,0) * 55ms)}
html.gm .gm-head.gm-in .gm-wi{transform:none}
/* Photos unveil upward with a slow settle. */
html.gm img.gm-img{clip-path:inset(100% 0 0 0);scale:1.08;transition:clip-path 1.1s var(--gm-ease),scale 1.6s var(--gm-ease)}
html.gm img.gm-img.gm-in{clip-path:inset(0 0 0 0);scale:1}
/* Pointer glow on cards. */
.gm-glow{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,61,0,.13),transparent 62%)}
:hover > .gm-glow{opacity:1}
html body.dark-mode .gm-glow{background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,61,0,.18),transparent 62%)}
/* Magnetic buttons ease back when the pointer leaves. */
:is(.cta-btn,.submit-btn,.contact-btn-nav,.glra-btn,.calculate-btn,.print-btn,.view-all-btn,.cta-primary,.ss-cta,.reset-filters-btn){transition-property:translate,transform,box-shadow,background-color,color,border-color !important;transition-duration:.25s !important}
/* Navbar gains depth once the page scrolls. */
.navbar,.ab-nav{transition:box-shadow .3s ease,background-color .3s ease}
.navbar.gm-scrolled,.ab-nav.gm-scrolled{box-shadow:0 10px 30px -12px rgba(0,0,0,.35)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  ::view-transition-old(root),::view-transition-new(root){animation:none !important}
  html.gm .gm-head .gm-wi,html.gm img.gm-img{transform:none !important;clip-path:none !important;scale:1 !important;transition:none !important}
}

/* ── 13. Calculator columns never outgrow a phone (Oct 2026) ─────────────
   A grid column grows to fit its widest unbreakable content, and a <select>
   counts its LONGEST option as unbreakable, so on a 360px phone three
   calculators were 381px wide and scrolled sideways. */
html body :is(.calc-container,.calculator-container,.calc-grid,.results-section) > *{min-width:0}
html body .calc-card select,html body .input-group select{min-width:0 !important;max-width:100% !important;width:100%;text-overflow:ellipsis}

/* ── 14. Search panel matches the other boxes (Oct 2026) ─────────────────
   Rafael: the panel's 10px ORANGE offset shadow was half hidden by the tab
   strip under it, so it read as a stray orange bar down the right side. It
   now stands on the same ink offset shadow as the calculator cards (orange
   glow in dark mode, like them), with room below so the shadow shows whole.
   Everything inside uses the JetBrains Mono "map button" type he prefers. */
html body .search-card{border:2px solid #0a0a0a !important;border-top:4px solid #ff3d00 !important;box-shadow:8px 8px 0 #0a0a0a !important;margin-bottom:34px !important}
html body.dark-mode .search-card{border-color:#3a3833 !important;border-top-color:#ff3d00 !important;box-shadow:8px 8px 0 rgba(223,53,0,.55) !important}
html body .search-card.search-card :is(input,select,textarea,button,a,label,p,small,.price-hist-note,.price-hist-lbl,.price-hist-val,.currency-rate-note){font-family:'JetBrains Mono',ui-monospace,monospace !important}
html body .search-card.search-card :is(input,textarea)::placeholder{font-family:'JetBrains Mono',ui-monospace,monospace !important;letter-spacing:.2px !important;font-size:14px !important}
html body .search-card.search-card :is(input,textarea){font-weight:600 !important;letter-spacing:.2px !important}
html body .search-card.search-card .filter-group select,html body .search-card.search-card select{font-weight:700 !important;text-transform:uppercase !important;letter-spacing:1.2px !important;font-size:12.5px !important}
html body .search-card.search-card :is(button,a):not(.search-btn-main){letter-spacing:.6px !important}
@media (pointer:coarse){html body .search-card.search-card .filter-group select,html body .search-card.search-card :is(input,select,textarea){font-size:16px !important;letter-spacing:.4px !important}}
@media(max-width:560px){html body .search-card{box-shadow:5px 5px 0 #0a0a0a !important;margin-right:5px !important}html body.dark-mode .search-card{box-shadow:5px 5px 0 rgba(223,53,0,.55) !important}}
html body .search-card.search-card #currencySelect,html body #currencySelect#currencySelect{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-weight:700 !important;letter-spacing:1.2px !important;font-size:12.5px !important;text-transform:uppercase !important}
@media (pointer:coarse){html body #currencySelect#currencySelect{font-size:16px !important}}

/* ── 15. One panel colour, and listing tabs you can see (Oct 2026) ────────
   The search row and the advanced-filter block painted their own darker
   background (#0e0e0c) inside the panel (#141412), so the middle of the panel
   looked blacker than its edges. They now take the panel's colour.
   The All / For sale / For lease / Featured tabs were plain text with a thin
   underline; Rafael could not see them. They are boxed buttons now: orange
   icon, ink border, and the chosen one solid orange on an ink offset. */
html body .search-card.search-card :is(.search-row,.advanced-filters,.filter-grid){background:transparent !important}
html body .category-tabs-wrap.category-tabs-wrap{padding:14px 0 !important}
html body .category-tabs.category-tabs{gap:10px !important;padding-top:2px !important;padding-bottom:8px !important;overflow:visible !important;flex-wrap:wrap}
html body .category-tabs.category-tabs .tab-btn{display:inline-flex !important;align-items:center;gap:9px;min-height:46px !important;padding:0 20px !important;margin:0 !important;
  border:2px solid var(--ab-ink,#0a0a0a) !important;background:var(--ab-paper,#f1eee9) !important;color:var(--ab-ink,#0a0a0a) !important;
  font:800 12px/1 'JetBrains Mono',ui-monospace,monospace !important;letter-spacing:1.6px !important;text-transform:uppercase !important;
  box-shadow:3px 3px 0 var(--ab-ink,#0a0a0a) !important;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s,background-color .16s,color .16s !important}
html body .category-tabs.category-tabs .tab-btn:first-child{padding-left:20px !important}
html body .category-tabs.category-tabs .tab-btn i{color:#ff3d00 !important;font-size:13px !important}
@media(hover:hover){html body .category-tabs.category-tabs .tab-btn:not(.active):hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #df3500 !important;border-color:#df3500 !important}}
html body .category-tabs.category-tabs .tab-btn.active{background:#df3500 !important;border-color:#0a0a0a !important;color:#fff !important;box-shadow:4px 4px 0 #0a0a0a !important}
html body .category-tabs.category-tabs .tab-btn.active i{color:#fff !important}
html body.dark-mode .category-tabs.category-tabs .tab-btn{background:#141412 !important;border-color:#4a4843 !important;color:#f1eee9 !important;box-shadow:3px 3px 0 #000 !important}
html body.dark-mode .category-tabs.category-tabs .tab-btn.active{background:#df3500 !important;border-color:#df3500 !important;color:#fff !important;box-shadow:4px 4px 0 rgba(255,61,0,.35) !important}
@media(max-width:640px){
  html body .category-tabs.category-tabs{display:grid !important;grid-template-columns:1fr 1fr;padding-right:8px !important}
  html body .category-tabs.category-tabs .tab-btn,html body .category-tabs.category-tabs .tab-btn:first-child{justify-content:center;padding:0 10px !important;letter-spacing:1px !important;font-size:11px !important}
}

/* 17. Map font for every regular-weight, lowercase text (set by main.js) */
html body .gm-mono.gm-mono{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace !important;letter-spacing:-.012em}

/* 18. Hero photo column: the text column draws the divider on its left, so the photo needs one on its right wherever the page leaves a gap beside it */
@media(min-width:981px){html body .ab-hero-photo.ab-hero-photo{border-right:2px solid var(--ab-line);box-sizing:border-box}}

/* 19. No underlines on titles/links; footer and hero link in the map font; larger logo */
html body .prop-card.prop-card .prop-title-link,html body .prop-card.prop-card:hover .prop-title-link{background-image:none !important}
html body .hx-link,html body .hx-link:hover{background:none !important;padding-bottom:0 !important;text-decoration:none !important}
html body h1 .underline,html body .section h2 em,html body .arth-feat h2 em,html body .how-it-works h2 em,html body .cta-section h2 em{text-decoration:none !important}
html body footer .footer-col a,html body footer .footer-col p,html body footer .footer-brand p,html body .hx-link{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace !important;font-weight:500 !important;letter-spacing:-.012em}
html body .navbar .logo img{height:88px !important;margin:-12px 0 !important}
@media(max-width:560px){html body .navbar .logo img{height:76px !important;margin:-9px 0 !important}}
html body .ab-hero-text h1 .underline::after{display:none !important}
html body .ab-brand img{height:88px !important;margin:-12px 0 !important}
@media(max-width:560px){html body .ab-brand img{height:76px !important;margin:-9px 0 !important}}

/* 20. Home listing tabs = the same boxed tabs as the Properties page; View all gets a box */
html body .section .listings-tabs.category-tabs{display:flex;max-width:1480px;margin:0 auto;padding:14px 40px 12px !important;border-bottom:0 !important;gap:10px !important;flex-wrap:wrap;justify-content:flex-start}
html body .section .listings-tabs.category-tabs .listings-tab{border-right:2px solid var(--ab-ink,#0a0a0a)}
html body.dark-mode .section .listings-tabs.category-tabs .listings-tab{border-right-color:#4a4843}
html body.dark-mode .section .listings-tabs.category-tabs .listings-tab.active{border-right-color:#df3500}
@media(max-width:640px){
  html body .section .listings-tabs.category-tabs{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px !important;padding:12px 18px 10px !important}
  html body .section .listings-tabs.category-tabs .listings-tab{padding:0 6px !important;gap:6px;font-size:10px !important;letter-spacing:.8px !important;min-height:44px !important}
  html body .section .listings-tabs.category-tabs .listings-tab i{font-size:11px !important}
}
html body .view-all-wrapper .view-all-btn{border:2px solid var(--ab-ink,#0a0a0a) !important;box-shadow:5px 5px 0 var(--ab-hot,#ff3d00) !important;padding:16px 30px !important}
html body.dark-mode .view-all-wrapper .view-all-btn{border-color:#f1eee9 !important;box-shadow:5px 5px 0 var(--ab-hot,#ff3d00) !important}
html body .view-all-wrapper .view-all-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ab-ink,#0a0a0a) !important}
