:root{--dark:#1c1c1c;--ink:#333;--muted:#6b6b6b;--gold:#b08d3e;--gold-2:#c9a961;--bg:#fff;--bg-soft:#f6f5f2;--line:#e6e4df;--radius:14px;--shadow:0 10px 30px rgba(0,0,0,.08);--shadow-lg:0 20px 50px rgba(0,0,0,.14);--font:'Jost',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;--serif:'Playfair Display',Georgia,'Times New Roman',serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit;cursor:pointer}
.container{width:min(1200px,92%);margin:0 auto}section{padding:80px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;border:2px solid transparent;transition:.25s;line-height:1;box-sizing:border-box}.btn-light{background:#fff;color:var(--ink);border-color:var(--line)}.btn-light:hover{background:var(--bg-soft)}.btn-outline-dark{background:#fff;color:var(--dark);border-color:var(--dark)}.btn-outline-dark:hover{background:var(--dark);color:#fff}.section-more{display:flex;justify-content:center;margin-top:28px}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-2);transform:translateY(-2px)}
.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{background:#000;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--dark);border-color:var(--dark)}.btn-outline:hover{background:var(--dark);color:#fff}
.btn-wa{background:#25d366;color:#fff}.btn-wa:hover{background:#1eb857;transform:translateY(-2px)}
.btn-block{width:100%;justify-content:center}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;gap:16px}
.logo{display:flex;align-items:center;gap:12px;line-height:1;color:var(--dark);white-space:nowrap}
.logo-mark{height:44px;width:44px;flex-shrink:0;border-radius:50%}
.logo-text{display:flex;flex-direction:column;justify-content:center}
.logo .lt{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.2px}.logo .lt .dot{color:var(--gold)}
.logo small{font-family:var(--font);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:4px}
.bridge-icon{height:32px;width:auto;flex-shrink:0}
.ic{width:16px;height:16px;flex-shrink:0;vertical-align:-3px;margin-right:2px}
.dot-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1d7a44;margin-right:2px;box-shadow:0 0 0 3px rgba(29,122,68,.15)}
.f-contact li{display:flex;align-items:center;gap:8px}.f-contact .ic{color:var(--gold-2);margin-right:0}
.nav-links{display:flex;align-items:center;gap:4px;white-space:nowrap}.nav-links li{white-space:nowrap}.nav-links a{white-space:nowrap}.nav-links a{padding:10px 12px;font-size:14px;font-weight:600;color:var(--ink);border-radius:8px;transition:.2s}.nav-links a:hover{color:var(--gold)}.nav-cta{margin-left:10px}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px}.hamburger span{width:24px;height:2px;background:var(--dark);border-radius:2px;transition:.3s}
.hero{position:relative;color:#fff;padding:150px 0;overflow:hidden}
.hero .hero-bg{position:absolute;inset:-2%;overflow:hidden;background:#222}
.hero .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity 1.2s ease;will-change:opacity,transform}
.hero .hero-image.is-active{opacity:1;animation:heroKenBurns 9s ease-in-out infinite alternate;z-index:1}
.hero .hero-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(10,10,10,.58) 0%,rgba(10,10,10,.30) 55%,rgba(10,10,10,.16) 100%)}
.hero-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.hero-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);background:rgba(255,255,255,.25);padding:0;cursor:pointer;transition:.25s}
.hero-dot.is-active{background:var(--gold-2,#c9a662);border-color:var(--gold-2,#c9a662);width:22px;border-radius:5px}
.hero-dot:hover{background:rgba(255,255,255,.6)}
@media(prefers-reduced-motion:reduce){.hero .hero-image.is-active{animation:none}}
@keyframes heroKenBurns{0%{transform:scale(1.01) translate3d(0,0,0)}100%{transform:scale(1.05) translate3d(-.7%,-.4%,0)}}
.hero .container{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;font-size:13px;letter-spacing:.5px;margin-bottom:22px}
.hero h1{font-family:var(--serif);font-size:clamp(34px,5vw,60px);line-height:1.12;font-weight:700;max-width:820px}.hero h1 em{color:var(--gold-2);font-style:italic}
.hero p.sub{font-size:18px;color:#e2dfd9;max-width:620px;margin:22px 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.featured-strip{margin-top:-70px;position:relative;z-index:5}
.featured-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr}
.featured-card .fc-img{min-height:280px;background-size:cover;background-position:center;position:relative}
.featured-card .fc-tag{position:absolute;top:16px;left:16px;background:var(--gold);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px}
.featured-card .fc-body{padding:36px}.fc-body .nhood{color:var(--gold);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.fc-body h3{font-family:var(--serif);font-size:26px;color:var(--dark);margin:8px 0 6px}.fc-body .price{font-size:22px;font-weight:700;color:var(--dark)}
.fc-body .status{display:inline-block;background:#eafaf0;color:#1d7a44;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;margin:12px 0 18px}
.fc-meta{display:flex;gap:18px;margin-bottom:22px;color:var(--muted);font-size:14px}.fc-meta span{display:flex;align-items:center;gap:6px}
.sec-head{text-align:center;max-width:640px;margin:0 auto 48px}.sec-head .eyebrow{color:var(--gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:12px}
.sec-head h2{font-family:var(--serif);font-size:clamp(28px,4vw,40px);color:var(--dark);margin-top:10px;line-height:1.2}.sec-head p{color:var(--muted);margin-top:14px}
.grid-props{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch;grid-auto-rows:1fr}
.prop-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column;height:100%;min-height:560px}
.prop-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.prop-card .pc-img{height:220px;flex:0 0 220px;background-size:cover;background-position:center;position:relative}
.prop-card .pc-tag{position:absolute;top:14px;left:14px;background:rgba(28,28,28,.85);color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px}
.prop-card .pc-body{padding:22px;display:flex;flex-direction:column;flex:1;min-height:320px}
.prop-card .pc-body>a.btn{margin-top:auto;align-self:stretch;width:100%;min-width:0;height:48px;justify-content:center;display:flex;align-items:center;box-sizing:border-box}
.prop-card .nhood{color:var(--gold);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:11px}
.prop-card h3{font-family:var(--serif);font-size:19px;color:var(--dark);margin:6px 0;min-height:52px}.prop-card .price{font-size:20px;font-weight:700;color:var(--dark)}
.prop-card .status{font-size:12.5px;color:#1d7a44;font-weight:600;margin:4px 0 14px}
.prop-card .pc-meta{display:flex;gap:14px;color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:14px;margin-bottom:16px}
.prop-card .pc-meta span{display:flex;align-items:center;gap:5px}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.owner-grid .how-step{padding:0;overflow:hidden}
.owner-grid .how-step>div:first-child{height:320px}
.owner-grid .how-step>div:last-child{padding:44px}
.owner-grid .how-step h3{font-size:28px;margin-bottom:14px}
.owner-grid .how-step p{font-size:16px;line-height:1.6}
.owner-grid .how-step .btn{padding:14px 28px;font-size:15px}
.how-step{background:var(--bg-soft);border-radius:var(--radius);padding:36px;border:1px solid var(--line)}
.how-step .num{font-family:var(--serif);font-size:44px;color:var(--gold);font-weight:700}.how-step h3{font-family:var(--serif);font-size:21px;color:var(--dark);margin:12px 0 10px}.how-step p{color:var(--muted);font-size:15px}
.nhood-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:26px}
.nhood-card{border-radius:var(--radius);overflow:hidden;position:relative;height:100%;min-height:280px;background:#222;display:flex;align-items:flex-end;transition:.3s}
.nhood-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.nhood-card .nhood-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.04) saturate(1.06) contrast(1.04);transition:transform .45s ease,filter .45s ease}.nhood-card:hover .nhood-img{transform:scale(1.04);filter:brightness(1.08) saturate(1.08) contrast(1.05)}
.nhood-card .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,9,14,.78) 0%,rgba(5,9,14,.30) 38%,rgba(5,9,14,.02) 70%)}
.nhood-card .nb-body{position:relative;padding:24px;color:#fff;width:100%;text-shadow:0 2px 10px rgba(0,0,0,.35)}.nhood-card .nb-body .eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.98}.nhood-card .nb-body h3{margin:4px 0 3px}.nhood-card .nb-body .arrow{display:inline-block;padding-top:2px}
.nhood-card .nb-body h3{font-family:var(--serif);font-size:24px}.nhood-card .nb-body .arrow{color:var(--gold-2);font-weight:700;font-size:14px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:48px}
.stat{text-align:center;padding:30px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.stat .val{font-family:var(--serif);font-size:44px;font-weight:700;color:var(--dark)}.stat .val span{color:var(--gold)}.stat .lbl{color:var(--muted);font-size:14px;margin-top:6px}.stat .sub{color:var(--muted);font-size:12.5px;margin-top:4px}
.agents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.agent-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;transition:.3s}
.agent-card:hover{box-shadow:var(--shadow)}.agent-card .ag-img{height:260px;background-size:cover;background-position:center;background-color:var(--bg-soft)}
.agent-card .ag-body{padding:24px}.agent-card h3{font-family:var(--serif);font-size:22px;color:var(--dark)}
.agent-card .role{color:var(--gold);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin:4px 0 12px}
.agent-card .ag-contact{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.agent-card .ag-contact a:hover{color:var(--gold)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.testi-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.testi-card .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px}.testi-card p{font-size:15px;color:var(--ink);font-style:italic}
.testi-card .who{margin-top:18px;font-weight:700;color:var(--dark)}.testi-card .who span{display:block;font-weight:500;color:var(--muted);font-size:13px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.blog-card .b-img{height:180px;width:100%;object-fit:cover;background-size:cover;background-position:center;background-color:var(--bg-soft);display:block}
.blog-card .b-body{padding:24px;display:flex;flex-direction:column;flex:1}.blog-card .b-date{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.blog-card h3{font-family:var(--serif);font-size:19px;color:var(--dark);margin:8px 0 10px;line-height:1.3}.blog-card p{color:var(--muted);font-size:14px;flex:1}
.blog-card .read{display:inline-block;margin-top:12px;color:var(--gold);font-weight:700;font-size:14px}
.cta{background:linear-gradient(135deg,#141414,#2a2a2a);color:#fff;text-align:center;padding:90px 0}
.cta h2{font-family:var(--serif);font-size:clamp(28px,4vw,42px);max-width:640px;margin:0 auto 16px}.cta p{color:#d8d5cf;max-width:520px;margin:0 auto 30px}
.site-footer{background:var(--dark);color:#c9c6c0;padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:50px}
.site-footer h4{color:#fff;font-family:var(--serif);font-size:18px;margin-bottom:18px}.site-footer .f-brand p{font-size:14px;margin-top:16px;max-width:280px}.site-footer .f-brand .logo{color:#fff}
.f-brand img{width:72px;height:72px;margin-bottom:12px}
.f-brand .lt{font-family:var(--serif);font-size:22px;color:#fff;font-weight:700}
.f-brand .lt .dot{color:var(--gold)}
.f-links a{display:block;padding:6px 0;font-size:14.5px;transition:.2s}.f-links a:hover{color:var(--gold-2)}
.f-contact li{display:flex;gap:10px;font-size:14px;margin-bottom:12px;align-items:flex-start}.f-contact a:hover{color:var(--gold-2)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:13px;color:#8a8781;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-bottom a{margin-left:18px}.footer-bottom a:hover{color:#fff}
.page-hero{background:linear-gradient(135deg,#141414,#2a2a2a);color:#fff;padding:90px 0;text-align:center}
.page-hero h1{font-family:var(--serif);font-size:clamp(32px,5vw,52px)}.page-hero p{color:#d8d5cf;max-width:620px;margin:16px auto 0;font-size:17px}
.photo-hero{position:relative;color:#fff;padding:120px 0;text-align:center;background-size:cover;background-position:center}
.photo-hero .ov{position:absolute;inset:0;background:rgba(10,10,10,.27)}
.photo-hero .container{position:relative;z-index:2}
.photo-hero h1{font-family:var(--serif);font-size:clamp(34px,5vw,56px);font-weight:700}
.photo-hero p{color:#e2dfd9;max-width:640px;margin:16px auto 0;font-size:18px}
.breadcrumb{color:var(--gold-2);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}
.tabs{display:flex;justify-content:center;gap:12px;margin-bottom:40px}
.tab-btn{padding:14px 30px;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:600;font-size:15px;color:var(--ink);transition:.2s}
.tab-btn.on{background:var(--gold);color:#fff;border-color:var(--gold)}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:40px;box-shadow:0 10px 30px rgba(25,25,25,.06)}
.filters-title{margin-bottom:18px}.filters-title h3{font-family:var(--serif);font-size:26px;color:var(--dark);margin:4px 0 6px}.filters-title p{color:var(--muted);font-size:14px;margin:0}
.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;align-items:end}
.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field select,.field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;color:var(--ink)}
.field select:focus,.field input:focus{outline:2px solid var(--gold-2);border-color:transparent}
.filter-actions{display:flex;gap:10px;align-items:stretch}.filter-actions .btn{min-height:46px;padding:0 20px}.filters-info{font-size:13px;color:var(--muted);margin-top:14px}
.gallery{margin-bottom:40px}
.gallery .main{width:100%;height:460px;background-size:cover;background-position:center;border-radius:var(--radius)}
.gallery .thumbs{display:flex;gap:10px;margin-top:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.gallery .thumbs div{flex:0 0 130px;height:92px;background-size:cover;background-position:center;border-radius:8px;opacity:.82;transition:opacity .15s}
.gallery .thumbs div:hover{opacity:1}
.lb-overlay{position:fixed;inset:0;background:rgba(8,8,8,.96);z-index:999;display:none;align-items:center;justify-content:center;flex-direction:column}
.lb-overlay.open{display:flex}
.lb-img{max-width:92vw;max-height:78vh;object-fit:contain;cursor:zoom-in;transition:transform .25s ease;user-select:none}
.lb-img.zoomed{cursor:zoom-out;transform:scale(1.9)}
.lb-close{position:absolute;top:18px;right:22px;color:#fff;font-size:34px;line-height:1;cursor:pointer;background:none;border:none;font-family:var(--font)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);color:#fff;border:none;width:46px;height:46px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-nav:hover{background:rgba(255,255,255,.28)}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-counter{color:#e8d9b0;margin-top:16px;font-family:var(--font);font-size:14px;letter-spacing:1px}
.lb-hint{color:#8a8578;margin-top:4px;font-family:var(--font);font-size:11px;letter-spacing:1px}
@media(max-width:640px){.gallery .main{height:280px}.lb-nav{width:38px;height:38px}.lb-close{top:10px;right:14px;font-size:28px}}
.prop-detail{display:grid;grid-template-columns:1.6fr 1fr;gap:44px}
.pd-left h1,.pd-left .pd-title{font-family:var(--serif);font-size:34px;color:var(--dark);font-weight:700;line-height:1.2}.pd-left .nhood{color:var(--gold);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12px}
.pd-price{font-size:30px;font-weight:700;color:var(--dark);margin:10px 0}
.pd-price-note{font-size:14.5px;color:var(--muted);margin:-4px 0 12px;line-height:1.55}
.pd-price-note b{color:var(--dark);font-weight:600}
.pd-included{list-style:none;margin:12px 0 0;padding:0}
.pd-included li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;padding:7px 0;border-bottom:1px solid var(--line)}
.pd-included li::before{content:"✓";color:var(--gold);font-weight:700;line-height:1.5}
.pd-status{display:inline-block;background:#eafaf0;color:#1d7a44;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.pd-meta{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pd-meta .m{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:12px 18px;text-align:center;min-width:90px}.pd-meta .m b{display:block;font-size:18px;color:var(--dark)}.pd-meta .m span{font-size:12px;color:var(--muted)}
.pd-left h2{font-family:var(--serif);font-size:24px;color:var(--dark);margin:30px 0 14px}.pd-left .desc{white-space:pre-line;color:var(--ink)}
.pd-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.pd-features li{display:flex;gap:8px;align-items:center;font-size:14.5px;padding:8px 0;border-bottom:1px solid var(--line)}.pd-features li::before{content:"✓";color:var(--gold);font-weight:700}
.pd-side{position:sticky;top:100px;align-self:start}
.pd-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.pd-card h3{font-family:var(--serif);font-size:20px;color:var(--dark);margin-bottom:16px}.pd-card .price{font-size:28px;font-weight:700;color:var(--dark)}.pd-card .per{color:var(--muted);font-size:14px}.pd-card .btn{margin-top:14px}
.pd-contact{margin-top:16px;font-size:14px;color:var(--muted)}.pd-contact a{color:var(--gold);font-weight:600}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px;max-width:720px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column}.form-field.full{grid-column:1/-1}
.form-field label{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:6px}.form-field label span{color:var(--gold)}
.form-field input,.form-field select,.form-field textarea{padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;background:var(--bg-soft)}
.form-field textarea{resize:vertical;min-height:120px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--gold-2);border-color:transparent;background:#fff}
.form-note{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}
.form-success{display:none;background:#eafaf0;color:#1d7a44;border:1px solid #bfe6cd;border-radius:10px;padding:16px;margin-bottom:18px;font-size:14.5px}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}
.contact-info{display:flex;flex-direction:column;gap:18px}
.ci-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.ci-card h3{font-family:var(--serif);font-size:19px;color:var(--dark);margin-bottom:8px}.ci-card p,.ci-card a{font-size:15px;color:var(--ink)}.ci-card a:hover{color:var(--gold)}.ci-card .big{font-size:20px;font-weight:700;color:var(--dark)}
.nhood-hero{height:420px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end}
.nhood-hero .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,9,14,.70) 0%,rgba(5,9,14,.22) 48%,rgba(5,9,14,.04) 78%)}
.nhood-hero .container{position:relative;color:#fff;padding-bottom:40px}.nhood-hero h1{font-family:var(--serif);font-size:clamp(32px,5vw,52px)}.nhood-hero p{color:#e5e2dc;max-width:600px;margin-top:10px}
.nhood-body{display:grid;grid-template-columns:2fr 1fr;gap:44px}.nhood-body h2{font-family:var(--serif);font-size:26px;color:var(--dark);margin:26px 0 12px}.nhood-body p{color:var(--ink);margin-bottom:16px}
.nhood-desc h3{font-family:var(--serif);font-size:20px;color:var(--dark);margin:22px 0 8px}
.nhood-facts{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.nhood-facts h3{font-family:var(--serif);font-size:20px;color:var(--dark);margin-bottom:14px}
.nhood-facts li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;display:flex;gap:8px;align-items:center}.nhood-facts li::before{content:"•";color:var(--gold);font-weight:700}.nhood-facts li:last-child{border-bottom:none}
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:40px}
.map-wrap iframe{display:block;width:100%;height:400px;border:0}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120%);background:var(--dark);color:#fff;padding:14px 24px;border-radius:999px;font-size:14px;box-shadow:var(--shadow-lg);transition:.4s;z-index:200}.toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:1340px){.nav-links{display:none}.hamburger{display:flex}.nav-links.open{display:flex;position:fixed;top:80px;left:0;right:0;z-index:98;background:#fff;flex-direction:column;align-items:stretch;padding:18px;gap:6px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:calc(100vh - 80px);overflow-y:auto}.nav-links.open a{padding:14px;border-radius:10px}.nav-links.open a:hover{background:var(--bg-soft)}.nav-links.open .nav-cta{margin:10px 0 0}}
@media(max-width:1024px){.grid-props,.nhood-grid,.how-grid,.testi-grid,.agents-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.prop-detail,.contact-grid,.nhood-body{grid-template-columns:1fr}.pd-side{position:static}}
@media(max-width:760px){section{padding:60px 0}.nav-links{position:fixed;top:80px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:18px;gap:6px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:.3s;box-shadow:var(--shadow)}.nav-links.open{transform:translateY(0)}.nav-links a{padding:14px;border-radius:10px}.nav-links a:hover{background:var(--bg-soft)}.nav-cta{margin:10px 0 0}.grid-props,.nhood-grid,.how-grid,.testi-grid,.agents-grid,.blog-grid,.owner-grid{grid-template-columns:1fr;grid-auto-rows:auto}.prop-card{min-height:0}.prop-card .pc-body>a.btn{width:100%;align-self:stretch}.featured-card{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.hero{padding:100px 0}.owner-grid .how-step>div:first-child{height:220px!important}.owner-grid .how-step>div:last-child{padding:28px!important}}
.city-feature{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-lg);height:420px;background:#eee}.city-feature img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:brightness(1.04) saturate(1.03)}.city-feature-cap{position:absolute;left:0;right:0;bottom:0;padding:34px;background:linear-gradient(to top,rgba(0,0,0,.58),transparent);color:#fff;font-family:var(--serif);font-size:28px}@media(max-width:760px){.city-feature{height:300px}.city-feature-cap{font-size:22px;padding:24px}}

.hero-credit{position:absolute;right:18px;bottom:14px;z-index:3;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.2px}.hero-credit a{color:inherit;text-decoration:underline}

/* v22 final polish */
.tabs .tab-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 30px;border-radius:999px;border:2px solid var(--line);background:#fff;font-weight:600;font-size:15px;color:var(--ink);transition:.2s}
.tabs .tab-link:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-1px)}
.owner-grid .how-step>div:first-child{background-position:center!important}
.owner-grid .how-step>div:first-child img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.12) saturate(1.05)}
@media(max-width:760px){.prop-card h3{min-height:0}.prop-card .pc-body{min-height:0}}

/* ===== V25 · Final production & mobile pass ===== */
/* For Sale card components */
.grid-props{margin-top:26px}
.sale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.prop-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ececef;border-radius:16px;overflow:hidden;box-shadow:0 6px 22px rgba(15,23,42,.05)}
.prop-img{position:relative;min-height:230px;background-size:cover;background-position:center}
.prop-tag{position:absolute;top:14px;left:14px;background:#b08d57;color:#fff;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.4px}
.prop-body{display:flex;flex-direction:column;padding:18px;flex:1}
.prop-body .nhood{color:#b08d57;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.prop-body h3{font-family:"Playfair Display",serif;font-size:1.25rem;line-height:1.25;margin:0 0 8px}
.prop-body .price{font-size:1.35rem;font-weight:700;color:var(--ink,#17202a);margin-bottom:10px}
.prop-desc{margin:0 0 14px;font-size:.95rem;line-height:1.55;color:#5b5b5f}
.prop-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;margin-top:auto}
.prop-meta span{background:#f1f1f3;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600;color:#333}
.prop-body .btn{margin-top:auto}
.prop-body .btn-wa{margin-top:10px;background:#25D366;border-color:#25D366}
.prop-body .btn-wa:hover{background:#1faf55;border-color:#1faf55}
.no-results p{background:#fff7ee;border:1px solid #f0dfc8;color:#7a5b28;padding:16px 18px;border-radius:12px}
/* Filters responsive */
.filters-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end}
.filter-actions{display:flex;gap:10px}
.filter-actions .btn{white-space:nowrap}
select,input{border-radius:10px}
/* Global mobile foundation */
html,body{overflow-x:hidden}
img{max-width:100%;height:auto}
@media(max-width:1080px){
 .filters-row{grid-template-columns:repeat(4,1fr)}
 .filter-actions{grid-column:1/-1;display:flex;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:760px){
 .filters-row{grid-template-columns:1fr 1fr}
 .sale-grid,.grid-props,.foot-grid,.footer-grid{grid-template-columns:1fr !important}
 .hero{min-height:56vh}
 .hero h1{font-size:clamp(2rem,9vw,3.2rem);line-height:1.1}
 .hero-actions,.hero .hero-actions,.filter-actions{flex-direction:column}
 .hero-actions .btn,.filter-actions .btn,.hero-actions a{width:100%;text-align:center}
 .site-header .container{min-height:66px}
 .btn-wa,.btn-gold,.btn-light,.btn-outline,.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
 .field select,.field input,.form-field input,.form-field select,.form-field textarea,.home-search .field select,.home-search .field input{font-size:16px}
 .nav-links{padding:16px;gap:4px;max-height:calc(100vh - 66px);overflow-y:auto;overscroll-behavior:contain}
 .section,.sec{padding:48px 0}
 .tabs{display:flex;overflow-x:auto;gap:4px}
 .tabs button,.tabs .tab-btn,.tabs .tab-link{flex:1 0 auto;white-space:nowrap}
 .two-col,.split,.grid-2,.grid2{grid-template-columns:1fr !important}
 .page-hero h1{font-size:clamp(1.9rem,8vw,2.6rem)}
 .contact-grid,.form-grid,.agent-grid{grid-template-columns:1fr !important}
 .footer-grid{grid-template-columns:1fr !important;gap:28px}
 .hero-dots{bottom:14px;gap:8px}
 .hero-dot{width:7px;height:7px}
 .hero-dot.is-active{width:18px}

}
@media(max-width:520px){
 .filters-row{grid-template-columns:1fr}
 .container{width:min(100% - 24px,1200px)}
 .site-header .logo-text small{display:none}
}

/* V26 · property portal search polish */
.sale-search-row{grid-template-columns:repeat(4,1fr)}
.sale-search-row .filter-actions{grid-column:1/-1;justify-content:flex-start}
.home-property-options .how-step{display:flex;flex-direction:column;align-items:flex-start}
.home-property-options .how-step .btn{margin-top:auto}
@media(max-width:1080px){.sale-search-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.sale-search-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sale-search-row{grid-template-columns:1fr}}

/* V27 · premium property-portal search */
.home-search-wrap{position:relative;z-index:8;margin-top:-54px;padding-bottom:12px}
.home-search{background:#fff;border:1px solid rgba(15,32,50,.10);border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.14);overflow:hidden}
.home-search-tabs{display:flex;border-bottom:1px solid #ececef}
.home-tab{appearance:none;border:0;background:#fff;padding:15px 28px;font-weight:700;color:#6a6c72;cursor:pointer;position:relative}
.home-tab.on{color:#b07f18}.home-tab.on:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:#b08d57;border-radius:3px}
.home-search-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:12px;padding:14px}
.home-search .field label{font-size:10px;margin-bottom:4px}.home-search .field select,.home-search .field input{height:48px;border-color:#e2e4e8}
.home-search-btn{min-width:150px;height:48px;align-self:end}
.rental-search-row{grid-template-columns:repeat(4,1fr)}
.rental-search-row .filter-actions{grid-column:1/-1}
.rental-search-row .field-wide{grid-column:span 2}
@media(max-width:520px){.rental-search-row .field-wide{grid-column:auto}}
@media(max-width:1080px){.home-search-grid{grid-template-columns:repeat(2,1fr)}.home-search-btn{width:100%}.rental-search-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.home-search-wrap{margin-top:-32px}.home-search-grid{grid-template-columns:1fr}.home-search-tabs{overflow:auto}.home-tab{flex:1;white-space:nowrap}.rental-search-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rental-search-row{grid-template-columns:1fr}.home-search-grid{padding:12px}.home-search{border-radius:12px}}

/* V29 · clear Rent / Sale navigation */
.rent-sale-switch{justify-content:center;margin:0 auto;max-width:460px}.rent-sale-switch .tab-link,.rent-sale-switch .tab-btn{min-width:150px}
.rent-sale-switch .tab-btn{border:2px solid var(--gold);background:var(--gold);color:#fff;cursor:default}
.rent-sale-switch .tab-btn.on:after{display:none}

/* Aura Properties — practical neighbourhood information */
.aura-practical{margin:28px 0 34px;padding:26px 28px;border:1px solid rgba(197,164,91,.22);border-radius:16px;background:rgba(197,164,91,.045)}
.aura-practical h3{margin:18px 0 7px}.aura-practical h3:first-child{margin-top:0}.aura-practical p{margin:0;color:var(--muted);line-height:1.75}
.room-area-guide{padding:56px 0;background:var(--cream,#f7f5f0)}
.room-area-guide .container{max-width:900px}.room-area-guide h2{margin:0 0 14px}.room-area-guide p{max-width:820px;color:var(--muted);line-height:1.8;margin:8px 0}


/* V40 · property detail navigation */
.property-backbar{padding:14px 0 0;position:relative;z-index:3}
.property-back{display:inline-flex;align-items:center;gap:9px;color:var(--ink,#152536);font-weight:700;text-decoration:none;border:1px solid rgba(15,32,50,.14);background:#fff;padding:11px 17px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.property-back:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.08);border-color:rgba(176,141,87,.55)}
.property-back:focus-visible,.property-detail-switch a:focus-visible{outline:3px solid rgba(176,141,87,.35);outline-offset:3px}
.property-back span{font-size:19px;line-height:1}
.property-detail-switch{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.property-detail-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid rgba(15,32,50,.12);background:#fff;color:var(--ink,#152536);transition:transform .2s ease,box-shadow .2s ease}
.property-detail-switch a:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.08)}
.property-detail-switch a.primary{background:var(--gold,#b08d57);border-color:var(--gold,#b08d57);color:#fff}
@media(max-width:520px){.property-backbar{padding-top:10px}.property-back{width:100%;justify-content:center}.property-detail-switch{display:grid;grid-template-columns:1fr}.property-detail-switch a{width:100%}}

.property-flow-note{margin:0 0 18px;padding:12px 15px;border-radius:12px;background:rgba(176,141,87,.08);border:1px solid rgba(176,141,87,.18);color:var(--muted,#68727d);font-size:14px}.property-flow-note span{font-weight:700;color:var(--ink,#152536)}

.property-nav-hint{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 18px;font-size:13px;color:var(--muted,#68727d)}
.property-nav-hint a{color:var(--ink,#152536);font-weight:700;text-decoration:none}.property-nav-hint a:hover{text-decoration:underline}
@media(max-width:520px){.property-nav-hint{justify-content:center;text-align:center}}

.property-page-choices{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.property-page-choices a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 17px;border-radius:999px;border:1px solid rgba(15,32,50,.14);background:#fff;color:var(--ink,#152536);text-decoration:none;font-weight:700}.property-page-choices a.active{background:var(--gold,#b08d57);border-color:var(--gold,#b08d57);color:#fff}@media(max-width:520px){.property-page-choices{display:grid;grid-template-columns:1fr}.property-page-choices a{width:100%}}

/* ===== V30 · mobile reliability & neighbourhood image resilience ===== */
.nhood-hero{background-color:#d9d5cc}
.nhood-hero.image-fallback{background-size:cover;background-position:center}
.nhood-grid .nhood-img{background:#ece9e2;object-fit:cover;min-height:220px}
@media(max-width:760px){
  .site-header{min-height:66px}
  .nav{height:66px}
  .hamburger{width:46px;height:46px;align-items:center;justify-content:center;flex:0 0 46px}
  .logo-mark{width:40px;height:40px}
  .logo{gap:9px}
  .logo .lt{font-size:20px}
  .nav-links.open{top:66px;max-height:calc(100vh - 66px)}
  .nhood-hero{height:340px}
  .nhood-hero .container{padding-bottom:28px}
  .nhood-hero h1{font-size:clamp(30px,9vw,44px)}
  .nhood-body{gap:28px}
  .nhood-facts{padding:20px}
  .nhood-grid .nhood-img{min-height:210px}
  .aura-practical{padding:20px}
  .pd-meta{gap:8px}
  .pd-meta .m{flex:1 1 calc(50% - 8px);min-width:0;padding:10px 8px}
  .pd-meta .m b{font-size:16px}
}
@media(max-width:380px){
  .logo .lt{font-size:18px}
  .logo-mark{width:38px;height:38px}
  .nav{gap:8px}
}

/* ---------- Long-form article typography (blog / market notes) ---------- */
.post-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13.5px;color:var(--muted);margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.post-meta .tag{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-weight:600;color:var(--ink)}
.post-lead{font-size:19px;line-height:1.7;color:var(--muted);margin:0 0 28px}
.post-toc{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin:0 0 36px}
.post-toc b{display:block;font-family:var(--font);font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px}
.post-toc ol{margin:0;padding-left:20px}
.post-toc li{list-style:decimal;margin-bottom:6px;font-size:15px}
.post-toc a{color:var(--ink);text-decoration:none}
.post-toc a:hover{color:var(--gold)}
.post-body{font-size:17px;line-height:1.82;color:var(--ink)}
.post-body p{margin:0 0 18px}
.post-body h2{font-family:var(--serif);font-size:clamp(24px,3.4vw,31px);color:var(--dark);margin:46px 0 14px;line-height:1.25;scroll-margin-top:100px}
.post-body h3{font-family:var(--serif);font-size:21px;color:var(--dark);margin:32px 0 10px;min-height:0;line-height:1.3}
.post-body ul,.post-body ol{margin:0 0 20px;padding-left:22px}
.post-body ul>li{list-style:disc;margin-bottom:9px}
.post-body ol>li{list-style:decimal;margin-bottom:9px}
.post-body a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.post-body a:hover{color:var(--dark)}
.post-body strong{color:var(--dark);font-weight:600}
.post-note{background:var(--bg-soft);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:18px 22px;margin:28px 0}
.post-note p{margin:0;font-size:16px}
.post-note p+p{margin-top:10px}
.post-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px}
.post-table th,.post-table td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
.post-table th{background:var(--bg-soft);font-weight:600;color:var(--dark)}
.post-related{margin:44px 0 0;padding:24px;background:var(--bg-soft);border-radius:var(--radius)}
.post-related b{display:block;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:12px}
.post-related ul{margin:0;padding:0}
.post-related li{margin-bottom:8px}
.post-related a{color:var(--ink);font-weight:600;text-decoration:none}
.post-related a:hover{color:var(--gold)}
@media(max-width:700px){
.post-body{font-size:16.5px;line-height:1.78}
.post-lead{font-size:17.5px}
.post-toc{padding:16px 18px}
.post-related{padding:20px 18px}
.post-table{font-size:14.5px;display:block;overflow-x:auto}
}

/* ---------- Responsive background images: mobile downloads a lighter file ---------- */
.photo-hero,.nhood-hero,.b-img,.prop-img,.gallery .main{background-image:var(--bg)}
@media(max-width:760px){
.photo-hero,.nhood-hero,.b-img,.prop-img,.gallery .main{background-image:var(--bg-s,var(--bg))}
}
/* ---------- Layout safety: nothing may overflow the viewport horizontally ---------- */
img,video,iframe,table{max-width:100%}
.post-body pre,.post-body code{white-space:pre-wrap;word-break:break-word}
@media(max-width:760px){
.btn{min-height:44px}
}

/* ===== V26 · Featured studio card (Gare) ===== */
.featured-card .fc-img{background-image:var(--bg);background-position:center 34%}
@media(max-width:760px){.featured-card .fc-img{background-image:var(--bg-s,var(--bg))}}
.fc-body .fc-note{margin:6px 0 10px;font-size:14px;color:var(--muted,#6b7280);line-height:1.5}
.fc-body .price+.fc-note{margin-top:4px}
@media(max-width:760px){.featured-card .fc-img{min-height:230px}.featured-card .fc-body{padding:26px 22px}.fc-body .fc-meta{flex-wrap:wrap;gap:10px 16px}.featured-card .fc-body>a.btn{display:block;width:100%;text-align:center}}

/* ===== V26 · Property detail: terms table, FAQ, extra sections ===== */
.pd-extra{padding:56px 0}
.pd-extra .container{max-width:900px}
.pd-extra h2{margin:36px 0 12px}
.pd-extra h2:first-child{margin-top:0}
.pd-extra p{color:var(--muted);line-height:1.8;margin:8px 0}

.pd-features-wide{grid-template-columns:1fr}
@media(min-width:761px){.pd-features-wide{grid-template-columns:1fr 1fr}}
.pd-features-wide li{align-items:flex-start;line-height:1.55}
.pd-features-wide li::before{line-height:1.55}

.pd-terms{width:100%;border-collapse:collapse;margin:14px 0 8px;font-size:15px}
.pd-terms th,.pd-terms td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.pd-terms thead th{background:var(--bg-soft);font-weight:700;color:var(--ink);white-space:nowrap}
.pd-terms tbody th{width:210px;font-weight:700;color:var(--ink);background:var(--bg-soft)}
.pd-terms td{color:var(--muted)}
.pd-terms-note{font-size:14px}

.pd-faq{margin:16px 0 8px;border-top:1px solid var(--line)}
.pd-faq details{border-bottom:1px solid var(--line)}
.pd-faq summary{cursor:pointer;list-style:none;padding:16px 34px 16px 0;font-weight:600;color:var(--ink);position:relative;min-height:44px;display:flex;align-items:center}
.pd-faq summary::-webkit-details-marker{display:none}
.pd-faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px;line-height:1;font-weight:400}
.pd-faq details[open] summary::after{content:"–"}
.pd-faq details p{margin:0 0 18px;color:var(--muted);line-height:1.8}
.pd-faq a{color:var(--gold);font-weight:600}

.pd-next{margin-top:34px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}
.pd-next h3{margin:0 0 8px;font-size:17px}
.pd-next p{margin:0;line-height:1.9}
.pd-next a{color:var(--gold);font-weight:600}

@media(max-width:760px){
  .pd-extra{padding:44px 0}
  .pd-terms{display:block;font-size:14.5px}
  .pd-terms thead{display:none}
  .pd-terms tbody,.pd-terms tr,.pd-terms th,.pd-terms td{display:block;width:auto}
  .pd-terms tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff}
  .pd-terms th,.pd-terms td{border-bottom:0;padding:10px 14px}
  .pd-terms tbody th{width:auto}
  .pd-terms tr td:first-child{font-weight:700;color:var(--ink);background:var(--bg-soft)}
  .pd-terms tr td+td{padding-top:0}
  .pd-next{padding:18px}
}

/* ===== V26 · Header fit: desktop navigation must never overflow the container ===== */
.site-header .container{width:min(1380px,95%)}
@media(min-width:1341px) and (max-width:1520px){
  .nav-links{gap:0}
  .nav-links a{padding:10px 7px;font-size:13.5px}
  .nav-cta{margin-left:6px}
  .nav-cta .btn{padding:11px 15px;font-size:13.5px}
}

/* ---------- V38 premium home choices + app install ---------- */
.premium-options{background:var(--bg-soft);padding:88px 0 96px}.premium-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}.premium-choice{position:relative;display:block;min-height:520px;overflow:hidden;border-radius:18px;background:#161616;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 18px 55px rgba(15,25,35,.10)}.premium-choice-media,.premium-choice-media img,.premium-choice-shade{position:absolute;inset:0;width:100%;height:100%}.premium-choice-media img{object-fit:cover;transition:transform .9s cubic-bezier(.16,.84,.24,1),filter .7s ease}.premium-choice-shade{background:linear-gradient(180deg,rgba(7,12,18,.05) 18%,rgba(7,12,18,.20) 45%,rgba(7,12,18,.86) 100%);z-index:1}.premium-choice-content{position:absolute;inset:auto 0 0;padding:42px;z-index:2}.premium-choice-num{display:block;font-size:12px;letter-spacing:3px;color:#e0c27a;margin-bottom:26px}.premium-choice-kicker{display:block;text-transform:uppercase;letter-spacing:2.3px;font-size:11px;font-weight:700;color:rgba(255,255,255,.75);margin-bottom:8px}.premium-choice h3{font-family:var(--serif);font-size:clamp(32px,3.5vw,52px);line-height:1.03;margin:0 0 14px;color:#fff;max-width:620px}.premium-choice p{margin:0 0 24px;max-width:500px;color:rgba(255,255,255,.82);font-size:16px;line-height:1.6}.premium-choice-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:#fff;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:7px}.premium-choice:hover .premium-choice-media img{transform:scale(1.045);filter:saturate(1.06) contrast(1.03)}.home-app-promo{padding:0 0 96px;background:var(--bg-soft)}.home-app-grid{display:grid;grid-template-columns:1fr 1fr;min-height:510px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(15,25,35,.09)}.home-app-copy{padding:clamp(42px,6vw,82px);display:flex;flex-direction:column;justify-content:center}.home-app-copy h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,66px);line-height:.98;color:var(--dark);max-width:600px;margin:10px 0 22px}.home-app-copy p{max-width:520px;font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 28px}.home-app-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.home-app-secondary{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:7px}.home-app-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:38px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.home-app-black{position:relative;text-decoration:none;cursor:pointer;background:#090909;min-height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff}.home-app-logo{width:154px;height:154px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 18px 35px rgba(0,0,0,.45))}.home-app-mark{position:relative;z-index:2;margin-top:22px;font-size:17px;letter-spacing:7px;font-weight:600}.home-app-small{position:relative;z-index:2;margin-top:7px;color:#c9a961;font-size:9px;letter-spacing:4px}.home-app-install-hint{position:absolute;bottom:28px;color:rgba(255,255,255,.52);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.home-app-orbit{position:absolute;width:360px;height:360px;border:1px solid rgba(201,169,97,.18);border-radius:50%;box-shadow:0 0 80px rgba(201,169,97,.05) inset;animation:app-orbit 12s linear infinite}.home-app-orbit:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#c9a961;top:18px;left:50%;box-shadow:0 0 18px rgba(201,169,97,.8)}@keyframes app-orbit{to{transform:rotate(360deg)}}@media(max-width:760px){.premium-options{padding:64px 0 72px}.premium-choice-grid{grid-template-columns:1fr;gap:14px}.premium-choice{min-height:500px;border-radius:14px}.premium-choice-content{padding:30px}.premium-choice h3{font-size:38px}.home-app-promo{padding-bottom:72px}.home-app-grid{grid-template-columns:1fr;min-height:0;border-radius:14px}.home-app-copy{padding:42px 28px 38px}.home-app-copy h2{font-size:43px}.home-app-copy p{font-size:16px}.home-app-black{min-height:430px}.home-app-logo{width:132px;height:132px}.home-app-orbit{width:290px;height:290px}}@media(prefers-reduced-motion:reduce){.home-app-orbit{animation:none}.premium-choice-media img{transition:none}}


/* AURA PERFORMANCE BUNDLE */
/* =====================================================================
   AURA PROPERTIES — aura-plus.css (v30)
   Photo heroes with crossfade, galleries, neighbourhood guide layout,
   Journal (blog) index and article template, reveal-on-scroll.
   Loaded after style.css. Uses the same tokens (gold, serif, radius).
   ===================================================================== */

:root{--ax-ink:#15130f;--ax-shade:rgba(8,8,7,.62);--ax-ease:cubic-bezier(.22,.61,.36,1)}

/* ---------- photos fade in as they arrive ---------- */
.js .ax-fade{opacity:0;transition:opacity .6s ease}
.js .ax-fade.is-loaded{opacity:1}

/* ---------- reveal on scroll (only when JS is running) ---------- */
.js .ax-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ax-ease),transform .8s var(--ax-ease)}
.js .ax-reveal.is-in{opacity:1;transform:none}
.js .ax-reveal.d1{transition-delay:.08s}.js .ax-reveal.d2{transition-delay:.16s}.js .ax-reveal.d3{transition-delay:.24s}

/* =====================================================================
   1. PAGE HERO — full-bleed crossfade (inner pages; the home hero is untouched)
   ===================================================================== */
.ax-hero{position:relative;color:#fff;overflow:hidden;background:#151412;min-height:clamp(440px,68vh,640px);display:flex;flex-direction:column;justify-content:flex-end;padding:0}
.ax-hero.is-compact{min-height:clamp(340px,48vh,440px)}
.ax-hero.is-tall{min-height:clamp(480px,78vh,720px)}
.ax-hero-media{position:absolute;inset:0}
.ax-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.6s ease;z-index:0}
.ax-slide.is-on{opacity:1;z-index:1}
.ax-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.ax-slide.is-on img{animation:axDrift 9s ease-out both}
@keyframes axDrift{from{transform:scale(1.07)}to{transform:scale(1)}}
.ax-hero-shade{position:absolute;inset:0;z-index:2;background:
  linear-gradient(90deg,rgba(8,8,7,.72) 0%,rgba(8,8,7,.42) 46%,rgba(8,8,7,.10) 100%),
  linear-gradient(0deg,rgba(8,8,7,.66) 0%,rgba(8,8,7,0) 45%)}
.ax-hero-inner{position:relative;z-index:3;padding-top:120px;padding-bottom:34px}
.ax-crumbs{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:18px}
.ax-crumbs a{color:rgba(255,255,255,.86)}.ax-crumbs a:hover{color:var(--gold-2)}
.ax-crumbs .sep{margin:0 8px;color:rgba(255,255,255,.4)}
.ax-eyebrow{display:block;color:var(--gold-2);font-weight:700;letter-spacing:2.6px;text-transform:uppercase;font-size:12px;margin-bottom:14px}
.ax-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(36px,5.6vw,68px);line-height:1.06;max-width:880px;letter-spacing:-.5px;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.ax-hero h1 em{font-style:italic;color:var(--gold-2)}
.ax-lead{font-size:clamp(16px,1.5vw,19px);color:#ebe7df;max-width:620px;margin-top:18px;line-height:1.65}
.ax-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ax-hero .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.ax-hero .btn-ghost:hover{background:#fff;color:var(--dark)}
.ax-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ax-chips span{font-size:12.5px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#f4f1ea}
.ax-hero-foot{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.ax-cap{font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.78);transition:opacity .5s ease;min-height:1.4em}
.ax-cap.is-swap{opacity:0}
.ax-bars{display:flex;gap:6px;flex-shrink:0}
.ax-bars button{width:34px;height:3px;border:0;padding:0;background:rgba(255,255,255,.28);border-radius:2px;position:relative;overflow:hidden;cursor:pointer}
.ax-bars button::before{content:"";position:absolute;inset:-10px 0}
.ax-bars button.is-on{background:var(--gold-2)}
.ax-count{font-size:11.5px;letter-spacing:1.4px;color:rgba(255,255,255,.7);margin-right:10px;font-variant-numeric:tabular-nums}

@media(max-width:760px){
  .ax-hero{min-height:clamp(420px,72vh,560px)}
  .ax-hero.is-compact{min-height:320px}
  .ax-hero-inner{padding-top:90px;padding-bottom:24px}
  .ax-hero h1{font-size:clamp(32px,9vw,44px)}
  .ax-hero-shade{background:linear-gradient(0deg,rgba(8,8,7,.82) 0%,rgba(8,8,7,.45) 55%,rgba(8,8,7,.18) 100%)}
  .ax-hero-actions{flex-direction:column}
  .ax-hero-actions .btn{width:100%}
  .ax-bars button{width:22px}
  .ax-cap{font-size:10.5px;letter-spacing:1px}
}

/* =====================================================================
   2. SECTION HEADS (editorial, left aligned) + photo stacks
   ===================================================================== */
.ax-sec{padding:96px 0}
.ax-sec.soft{background:var(--bg-soft)}
.ax-sec.dark{background:#141311;color:#eee}
.ax-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.ax-head .ax-eyebrow{color:var(--gold)}
.ax-head h2{font-family:var(--serif);font-size:clamp(28px,3.6vw,44px);line-height:1.12;color:var(--dark);max-width:720px}
.ax-sec.dark .ax-head h2{color:#fff}
.ax-head p{color:var(--muted);max-width:560px;margin-top:12px}
.ax-link{font-weight:600;color:var(--dark);border-bottom:1px solid var(--gold);padding-bottom:4px;white-space:nowrap;font-size:15px}
.ax-link:hover{color:var(--gold)}
.ax-link::after{content:" →";color:var(--gold)}
@media(max-width:760px){.ax-sec{padding:64px 0}.ax-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}}

/* stacked crossfade inside any box (cards, features) */
.ax-stack{position:relative;overflow:hidden;background:#1d1c1a}
.ax-stack .ax-slide img{transition:transform .8s var(--ax-ease)}
.ax-stack .ax-slide.is-on img{animation:axDrift 8s ease-out both}
.ax-dots{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;gap:5px}
.ax-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:.3s}
.ax-dots i.is-on{background:#fff;width:16px;border-radius:3px}

/* home: city feature becomes a crossfade */
.city-feature.ax-stack{height:480px}
.city-feature .ax-slide img{filter:none}
.city-feature .city-feature-cap{z-index:3}
.city-feature .ax-feature-note{display:block;font-family:var(--font);font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.78);margin-top:8px;transition:opacity .5s}
@media(max-width:760px){.city-feature.ax-stack{height:320px}}

/* neighbourhood cards with their own crossfade */
.nhood-card.ax-stack{background:#1d1c1a}
.nhood-card.ax-stack .ax-slide img{filter:brightness(1.02) saturate(1.05)}
.nhood-card.ax-stack .ov{z-index:2}
.nhood-card.ax-stack .nb-body{z-index:3}
.nhood-card.ax-stack .ax-dots{top:16px;bottom:auto}

/* =====================================================================
   3. PHOTO MOSAIC GALLERY + MARQUEE
   ===================================================================== */
.ax-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:14px}
.ax-mosaic figure{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#e9e6df;grid-column:span 2}
.ax-mosaic figure.w3{grid-column:span 3}
.ax-mosaic figure.w4{grid-column:span 4}
.ax-mosaic figure.h2{grid-row:span 2}
.ax-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ax-ease)}
.ax-mosaic figure:hover img{transform:scale(1.05)}
.ax-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;font-size:12.5px;line-height:1.4;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,0));opacity:.96}
.ax-mosaic figcaption b{display:block;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-bottom:2px}
@media(max-width:900px){.ax-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.ax-mosaic figure,.ax-mosaic figure.w3,.ax-mosaic figure.w4{grid-column:span 1}.ax-mosaic figure.h2{grid-row:span 1}.ax-mosaic figure:first-child{grid-column:span 2;grid-row:span 1}}
@media(max-width:520px){.ax-mosaic{grid-auto-rows:150px;gap:10px}}
.ax-note{font-size:12.5px;color:var(--muted);margin-top:14px}

.ax-marquee{overflow:hidden;position:relative;padding:6px 0 10px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ax-marquee-track{display:flex;gap:16px;width:max-content;animation:axMarquee 70s linear infinite}
.ax-marquee:hover .ax-marquee-track,.ax-marquee.is-paused .ax-marquee-track{animation-play-state:paused}
.ax-marquee figure{margin:0;position:relative;flex:0 0 auto;height:300px;border-radius:14px;overflow:hidden;background:#e9e6df}
.ax-marquee figure:nth-child(3n+1){width:250px;height:320px}
.ax-marquee figure:nth-child(3n+2){width:380px;height:270px;margin-top:26px}
.ax-marquee figure:nth-child(3n){width:300px;height:300px;margin-top:10px}
.ax-marquee img{width:100%;height:100%;object-fit:cover;display:block}
.ax-marquee figcaption{position:absolute;left:12px;bottom:10px;right:12px;font-size:11.5px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);letter-spacing:.3px}
@keyframes axMarquee{to{transform:translateX(-50%)}}
@media(max-width:760px){.ax-marquee figure:nth-child(3n+1){width:190px;height:240px}.ax-marquee figure:nth-child(3n+2){width:260px;height:200px}.ax-marquee figure:nth-child(3n){width:220px;height:220px}}

/* =====================================================================
   4. NEIGHBOURHOOD GUIDE LAYOUT
   ===================================================================== */
.ax-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:start}
.ax-intro .big{font-family:var(--serif);font-size:clamp(22px,2.3vw,30px);line-height:1.38;color:var(--dark)}
.ax-intro .big::first-letter{color:var(--gold)}
.ax-intro .side p{color:var(--ink);margin-bottom:14px}
.ax-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px}
.ax-glance article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;transition:.3s}
.ax-glance article:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ax-glance .n{font-family:var(--serif);color:var(--gold);font-size:15px}
.ax-glance h3{font-family:var(--serif);font-size:19px;color:var(--dark);margin:8px 0 8px;line-height:1.25}
.ax-glance p{font-size:14.5px;color:var(--muted);line-height:1.65}
@media(max-width:1024px){.ax-glance{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ax-intro{grid-template-columns:1fr;gap:26px}.ax-glance{grid-template-columns:1fr;margin-top:34px}}

.ax-guide{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.ax-guide .ax-read h2{font-family:var(--serif);font-size:clamp(26px,3vw,34px);color:var(--dark);margin:0 0 16px;line-height:1.2}
.ax-guide .ax-read h2:not(:first-child){margin-top:48px}
.ax-guide .ax-read h3{font-family:var(--serif);font-size:21px;color:var(--dark);margin:30px 0 10px}
.ax-guide .ax-read p{font-size:16.5px;line-height:1.8;margin-bottom:16px}
.ax-guide .ax-read .pd-features{margin:12px 0 8px}
.ax-guide .ax-read a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.ax-guide .ax-read .pd-faq summary{font-size:16px}
.ax-aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:18px}
.ax-aside .nhood-facts{background:#fff}
.ax-aside .ax-ask{background:#141311;color:#fff;border-radius:14px;padding:26px}
.ax-aside .ax-ask h3{font-family:var(--serif);font-size:21px;margin-bottom:8px}
.ax-aside .ax-ask p{color:#cfcac0;font-size:14.5px;margin-bottom:16px}
.ax-aside .ax-ask .btn{width:100%}
.ax-aside .ax-ask .btn+.btn{margin-top:10px}
.ax-aside .ax-ask .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.ax-aside .ax-ask .btn-line:hover{background:#fff;color:var(--dark)}
@media(max-width:1024px){.ax-guide{grid-template-columns:minmax(0,1fr);gap:34px}.ax-aside{position:static}}

.ax-near{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ax-near a{position:relative;display:block;height:300px;border-radius:14px;overflow:hidden;color:#fff;background:#222}
.ax-near img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ax-ease)}
.ax-near a:hover img{transform:scale(1.05)}
.ax-near .t{position:absolute;inset:auto 0 0 0;padding:60px 22px 20px;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,0))}
.ax-near .t small{display:block;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-2);font-weight:700}
.ax-near .t b{font-family:var(--serif);font-size:25px;font-weight:600}
@media(max-width:900px){.ax-near{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ax-near{grid-template-columns:1fr}.ax-near a{height:230px}}

/* neighbourhood index page */
.ax-quarters{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ax-quarters .nhood-card{min-height:320px}
@media(max-width:1024px){.ax-quarters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ax-quarters{grid-template-columns:1fr}.ax-quarters .nhood-card{min-height:260px}}
.ax-azlist{columns:4 200px;column-gap:28px;margin-top:10px}
.ax-azlist a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-weight:500;break-inside:avoid}
.ax-azlist a:hover{color:var(--gold)}
.ax-azlist a span{color:var(--muted);font-size:13px;margin-left:6px}

/* =====================================================================
   5. JOURNAL (blog index)
   ===================================================================== */
.jx-top{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:start}
.jx-lead a{display:block}
.jx-lead .jx-img{height:420px;border-radius:14px;overflow:hidden;background:#e9e6df}
.jx-lead img,.jx-side img,.jx-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ax-ease)}
.jx-lead a:hover img,.jx-side a:hover img,.jx-card a:hover img{transform:scale(1.04)}
.jx-cat{display:inline-block;color:var(--gold);font-weight:700;letter-spacing:1.6px;text-transform:uppercase;font-size:11px}
.jx-lead h2{font-family:var(--serif);font-size:clamp(26px,2.8vw,36px);line-height:1.15;color:var(--dark);margin:14px 0 10px}
.jx-lead p{color:var(--muted);font-size:16px;max-width:640px}
.jx-meta{font-size:12.5px;color:var(--muted);margin-top:10px;letter-spacing:.2px}
.jx-side{display:flex;flex-direction:column}
.jx-side .lbl{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);font-weight:700;padding-bottom:14px;border-bottom:1px solid var(--line)}
.jx-side a{display:grid;grid-template-columns:118px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.jx-side .jx-img{height:86px;border-radius:10px;overflow:hidden;background:#e9e6df}
.jx-side h3{font-family:var(--serif);font-size:17.5px;line-height:1.3;color:var(--dark);margin-top:4px}
.jx-side a:hover h3,.jx-card a:hover h3,.jx-lead a:hover h2{color:var(--gold)}
@media(max-width:960px){.jx-top{grid-template-columns:1fr}.jx-lead .jx-img{height:300px}}

.jx-bar{position:sticky;top:80px;z-index:40;background:rgba(246,245,242,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:64px 0 0}
.jx-bar .container{display:flex;align-items:center;gap:16px}
.jx-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;padding:2px}
.jx-pills::-webkit-scrollbar{display:none}
.jx-pill{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:.2s;white-space:nowrap}
.jx-pill span{color:var(--muted);font-weight:500;margin-left:5px}
.jx-pill:hover{border-color:var(--gold)}
.jx-pill.is-on{background:var(--dark);border-color:var(--dark);color:#fff}
.jx-pill.is-on span{color:var(--gold-2)}
.jx-search{position:relative;flex:0 0 300px}
.jx-search input{width:100%;border:1px solid var(--line);border-radius:999px;padding:11px 16px 11px 40px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.jx-search input:focus{outline:2px solid rgba(176,141,62,.35);border-color:var(--gold)}
.jx-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}
@media(max-width:760px){.jx-bar{top:66px}.jx-bar .container{flex-direction:column;align-items:stretch;gap:10px}.jx-search{flex:1 1 auto}}
@media(max-width:1340px) and (min-width:761px){.jx-bar{top:80px}}

.jx-count{font-size:13px;color:var(--muted);margin:30px 0 22px}
.jx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.jx-card a{display:block}
.jx-card .jx-img{height:230px;border-radius:12px;overflow:hidden;background:#e9e6df;margin-bottom:16px}
.jx-card h3{font-family:var(--serif);font-size:21px;line-height:1.28;color:var(--dark);margin:8px 0}
.jx-card p{color:var(--muted);font-size:14.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jx-card[hidden]{display:none}
.jx-empty{display:none;padding:40px 0;color:var(--muted)}
.jx-empty.show{display:block}
@media(max-width:1024px){.jx-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.jx-grid{grid-template-columns:1fr;gap:34px}.jx-card .jx-img{height:210px}}

.jx-index{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 56px}
.jx-index section{padding:0 0 26px}
.jx-index h3{font-family:var(--serif);font-size:26px;color:var(--dark);margin-bottom:4px}
.jx-index .d{color:var(--muted);font-size:14px;margin-bottom:10px}
.jx-index a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.jx-index a:hover{color:var(--gold)}
@media(max-width:760px){.jx-index{grid-template-columns:1fr}}

.jx-topics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.jx-topics a{position:relative;height:190px;border-radius:12px;overflow:hidden;display:block;color:#fff;background:#222}
.jx-topics img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ax-ease)}
.jx-topics a:hover img{transform:scale(1.06)}
.jx-topics span{position:absolute;inset:auto 0 0 0;padding:40px 16px 14px;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0));font-family:var(--serif);font-size:19px;line-height:1.2}
.jx-topics small{display:block;font-family:var(--font);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-2);margin-top:3px}
@media(max-width:1024px){.jx-topics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.jx-topics{grid-template-columns:1fr 1fr}.jx-topics a{height:150px}}

/* home blog cards get a category line */
.blog-card .b-cat{color:var(--gold);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;font-size:11px}
.blog-card .b-date{color:var(--muted);letter-spacing:.3px;text-transform:none;font-weight:500}
.blog-card .b-img{height:210px}

/* =====================================================================
   6. ARTICLE TEMPLATE
   ===================================================================== */
.ar-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold);z-index:200;transition:width .1s linear}
.ar-head{max-width:880px;padding-top:64px}
.ar-crumbs{font-size:12.5px;color:var(--muted);margin-bottom:22px}
.ar-crumbs a{color:var(--muted)}.ar-crumbs a:hover{color:var(--gold)}
.ar-crumbs b{color:var(--gold);font-weight:700}
.ar-crumbs .sep{margin:0 8px;opacity:.5}
.ar-head h1{font-family:var(--serif);font-size:clamp(34px,4.8vw,58px);line-height:1.08;color:var(--dark);letter-spacing:-.4px}
.ar-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.7;color:#4a4740;margin-top:22px;max-width:760px}
.ar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.ar-meta b{color:var(--dark);font-weight:600}
.ar-meta .tag{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--ink);font-weight:600;font-size:12.5px}
.ar-cover{width:min(1280px,94%);margin:40px auto 0}
.ar-cover .ax-img{height:clamp(280px,48vw,580px);border-radius:16px;overflow:hidden;background:#e9e6df}
.ar-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ar-cover figcaption{font-size:12.5px;color:var(--muted);margin-top:10px}
.ar-layout{display:grid;grid-template-columns:250px minmax(0,720px);gap:72px;justify-content:center;padding:56px 0 30px}
.ar-toc{position:sticky;top:110px;align-self:start;font-size:14px}
.ar-toc b{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--dark);font-weight:700;margin-bottom:12px}
.ar-toc ol{margin:0;padding:0;border-left:1px solid var(--line)}
.ar-toc li{list-style:none}
.ar-toc ol a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);line-height:1.4;transition:.2s}
.ar-toc ol a:hover{color:var(--dark)}
.ar-toc ol a.is-on{color:var(--dark);border-left-color:var(--gold);font-weight:600}
.ar-toc .ar-toc-cta{margin-top:26px;padding:18px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line)}
.ar-toc .ar-toc-cta p{font-size:13.5px;color:var(--muted);margin-bottom:12px;line-height:1.55}
.ar-toc .ar-toc-cta .btn{width:100%;padding:12px 16px;font-size:14px;color:#fff}
.ar-body{min-width:0}
.ar-body.post-body{font-size:17.5px;line-height:1.85}
.ar-body.post-body>h2:first-child{margin-top:0}
.ar-body figure.ar-inline{margin:34px 0}
.ar-body figure.ar-inline .ax-img{height:360px;border-radius:12px;overflow:hidden;background:#e9e6df}
.ar-body figure.ar-inline img{width:100%;height:100%;object-fit:cover}
.ar-body figure.ar-inline figcaption{font-size:12.5px;color:var(--muted);margin-top:8px}
.ar-tocm{display:none}
.ar-end{max-width:1200px}
.ar-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:#141311;color:#fff;border-radius:18px;padding:40px 44px;margin:10px 0 70px;position:relative;overflow:hidden}
.ar-cta h2{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.2}
.ar-cta p{color:#cfcac0;margin-top:8px;max-width:560px}
.ar-cta .acts{display:flex;gap:10px;flex-wrap:wrap}
.ar-cta .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.ar-cta .btn-line:hover{background:#fff;color:var(--dark)}
.ar-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:70px}
.ar-nav a{border:1px solid var(--line);border-radius:14px;padding:22px 24px;display:block;transition:.25s}
.ar-nav a:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.ar-nav small{display:block;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.ar-nav b{font-family:var(--serif);font-size:18px;line-height:1.3;color:var(--dark);font-weight:600}
.ar-nav a.next{text-align:right}
@media(max-width:1100px){.ar-layout{grid-template-columns:minmax(0,720px);gap:0}.ar-toc{display:none}.ar-tocm{display:block;margin:0 0 30px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft)}.ar-tocm summary{padding:14px 18px;font-weight:700;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;cursor:pointer;list-style:none}.ar-tocm summary::-webkit-details-marker{display:none}.ar-tocm summary::after{content:"+";float:right;color:var(--gold);font-size:18px;line-height:1}.ar-tocm[open] summary::after{content:"–"}.ar-tocm ol{margin:0;padding:0 18px 14px 36px}.ar-tocm li{list-style:decimal;padding:5px 0;font-size:15px}}
@media(max-width:760px){.ar-head{padding-top:40px}.ar-layout{padding-top:36px}.ar-body.post-body{font-size:16.5px}.ar-cta{grid-template-columns:1fr;padding:30px 24px}.ar-nav{grid-template-columns:1fr}.ar-nav a.next{text-align:left}.ar-body figure.ar-inline .ax-img{height:230px}}

/* =====================================================================
   7. MISC — property/listing hero, team, owner cards
   ===================================================================== */
.ax-hero .property-back{color:#fff}
.property-backbar+.ax-hero{margin-top:0}
.ax-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.ax-strip figure{margin:0;height:180px;border-radius:12px;overflow:hidden;position:relative;background:#e9e6df}
.ax-strip img{width:100%;height:100%;object-fit:cover}
.ax-strip figcaption{position:absolute;left:10px;bottom:8px;right:10px;color:#fff;font-size:11.5px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
@media(max-width:760px){.ax-strip{grid-template-columns:1fr 1fr}.ax-strip figure{height:140px}}

.ax-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ax-split .ax-stack{height:460px;border-radius:16px}
@media(max-width:900px){.ax-split{grid-template-columns:1fr;gap:30px}.ax-split .ax-stack{height:300px}}

@media(prefers-reduced-motion:reduce){
  .ax-slide,.ax-slide img,.ax-marquee-track,.js .ax-reveal,.js .ax-fade{animation:none!important;transition:none!important}
  .js .ax-reveal,.js .ax-fade{opacity:1;transform:none}
}
.ax-mosaic figure.w6{grid-column:span 6}
h2.ax-h2eb{font-family:var(--font);font-size:12px;line-height:1.4;margin:0 0 14px;font-weight:700}
.pd-contact a.btn{color:#fff;width:100%;justify-content:center}.pd-contact a.btn:hover{color:#fff}
/* ---------- listing header + gallery mosaic (v30) ---------- */
.ax-listhead{padding:34px 0 8px;background:var(--bg)}
.ax-listhead .ax-crumbs{color:var(--muted)}
.ax-listhead .ax-crumbs a{color:var(--muted)}
.ax-listhead .ax-crumbs a:hover{color:var(--gold)}
.ax-listhead .ax-eyebrow{color:var(--gold);margin:16px 0 8px}
.ax-listhead h1{font-family:var(--serif);font-size:clamp(28px,4vw,44px);line-height:1.12;color:var(--dark);max-width:900px;margin:0}
.ax-listhead-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.ax-chips.dark span{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink)}
.ax-listhead-acts{display:flex;flex-wrap:wrap;gap:10px}
.ax-listhead .btn-ghost{background:#fff;color:var(--dark);border-color:var(--dark)}
.ax-listhead .btn-ghost:hover{background:var(--dark);color:#fff}
.gallery.ax-gal{position:relative}
.ax-allphotos{position:absolute;right:14px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--dark);border:1px solid var(--dark);border-radius:10px;padding:9px 14px;font-weight:600;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:2}
.ax-allphotos:hover{background:var(--dark);color:#fff}
@media(min-width:900px){
 .gallery.ax-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:10px}
 .gallery.ax-gal .main{grid-row:1/3;height:auto!important;border-radius:var(--radius) 0 0 var(--radius)}
 .gallery.ax-gal .thumbs{display:contents}
 .gallery.ax-gal .thumbs div{height:auto;flex:none;opacity:1;border-radius:0;transition:filter .2s}
 .gallery.ax-gal .thumbs div:hover{filter:brightness(.88)}
 .gallery.ax-gal .thumbs div:nth-child(2){border-top-right-radius:var(--radius)}
 .gallery.ax-gal .thumbs div:nth-child(4){border-bottom-right-radius:var(--radius)}
 .gallery.ax-gal .thumbs div:nth-child(n+5){display:none}
}
@media(max-width:899px){.ax-allphotos{bottom:auto;top:12px;right:12px;padding:7px 11px;font-size:12px}}
.gallery.ax-gal-few{position:relative}
.ax-nophoto{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;margin-bottom:40px}
.ax-nophoto h3{font-family:var(--serif);font-size:24px;color:var(--dark);margin:0 0 8px}
.ax-nophoto p{color:var(--muted);max-width:620px;margin:0}
.ax-nophoto .ax-eyebrow{color:var(--gold);margin-bottom:8px}
.prop-img.ax-pimg{position:relative;overflow:hidden;background:#222}
.prop-img.ax-pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prop-img.ax-pimg .prop-tag{z-index:2}
.ax-qnote{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(0,0,0,.62);color:#fff;font-size:11px;padding:4px 9px;border-radius:999px;letter-spacing:.2px}
@media(max-width:700px){.ax-hero-shade{background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.45) 40%,rgba(10,10,10,.82) 100%)!important}}
.ax-glance .ax-short{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.ax-glance .ax-short b{display:block;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.ax-read a.btn{text-decoration:none}.ax-read a.btn-gold,.ax-read a.btn-wa,.ax-read a.btn-dark{color:#fff}.ax-read .prop-card a{text-decoration:none}
.ax-listhead .ax-crumbs .sep{color:#b9b5ac;opacity:1}
.jx-more-wrap{display:flex;justify-content:center;margin-top:34px}
.jx-more{background:#fff;color:var(--dark);border:1.5px solid var(--dark);border-radius:999px;padding:13px 30px;font-weight:600;font-size:15px}
.jx-more:hover{background:var(--dark);color:#fff}
.jx-more[hidden]{display:none}
.post-sources{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.post-sources h2{font-size:15px!important;letter-spacing:1.6px;text-transform:uppercase;font-family:var(--font)!important;margin:0 0 10px!important}
.post-sources ul{margin:0;padding-left:18px}
.post-sources li{margin-bottom:6px}
.post-sources a{color:var(--muted)}
.ar-body .post-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ax-reads{margin-top:16px}.ax-reads a{color:var(--dark);font-weight:500}.ax-reads a:hover{color:var(--gold)}
.ax-complete{margin:44px 0 10px;padding-top:34px;border-top:1px solid var(--line)}
.ax-complete h2{font-family:var(--serif);font-size:clamp(26px,3vw,34px);color:var(--dark);margin:0 0 18px}
.ax-complete h3{font-family:var(--serif);font-size:21px;color:var(--dark);margin:30px 0 10px}
.ax-complete p,.ax-complete li{font-size:16px;line-height:1.75;color:var(--ink)}
.ax-complete ul{padding-left:20px;margin:10px 0 16px;list-style:disc}
.ax-complete li{margin-bottom:6px}
.ax-complete a{color:var(--gold)}
.ax-keyfig{max-width:520px;margin:6px 0 4px}
.ax-keyfig caption{text-align:left;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);font-weight:700;padding-bottom:8px}
.ax-keyfig th{width:44%}
.ax-keysrc{font-size:12.5px!important;color:var(--muted)!important;margin:0 0 20px}
.ax-complete .post-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.ax-complete .post-table td,.ax-complete .post-table th{min-width:110px}.ax-complete h3{margin-top:30px}
.ax-guide>*,.ax-read,.ax-complete{min-width:0}


/* AURA PERFORMANCE BUNDLE */
/* ============================================================
   AURA PROPERTIES — experience layer (v38)
   ============================================================ */

/* ---------- page transitions (browsers with cross-document view transitions) ---------- */
@view-transition { navigation: auto; }
.site-header { view-transition-name: x-header; }
.x-tabbar { view-transition-name: x-tabbar; }
::view-transition-group(x-header), ::view-transition-group(x-tabbar) { animation: none; }
::view-transition-old(x-header), ::view-transition-new(x-header),
::view-transition-old(x-tabbar), ::view-transition-new(x-tabbar) { animation: none; }
::view-transition-old(root) { animation: x-vt-out .32s cubic-bezier(.7,0,.3,1) both; }
::view-transition-new(root) { animation: x-vt-in .48s cubic-bezier(.16,.84,.24,1) both; }
@keyframes x-vt-out { to { opacity: 0; transform: translateY(-2.5%) scale(.985); filter: blur(2px); } }
@keyframes x-vt-in { from { clip-path: inset(100% 0 0 0); transform: translateY(6%); } to { clip-path: inset(0 0 0 0); transform: none; } }

/* ---------- scroll progress ---------- */
.x-progress { position: fixed; left: 0; right: 0; top: 0; height: 2px; z-index: 120; pointer-events: none; }
.x-progress i { display: block; height: 100%; background: linear-gradient(90deg, #b08d3e, #e8d6a0); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- header: hide on scroll ---------- */
.site-header { transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
.site-header.x-hide { transform: translateY(-105%); }

/* ---------- full-screen menu (tablet & phone) ---------- */
@media (max-width: 1340px) {
  .hamburger span { transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .2s; transform-origin: center; }
  .hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-links, .nav-links.open {
    position: fixed !important; top: 0 !important; left: 0; right: 0; bottom: 0; height: 100dvh; max-height: none !important;
    z-index: 99 !important; display: flex !important; flex-direction: column; align-items: stretch; justify-content: flex-start;
    padding: 96px 28px calc(28px + env(safe-area-inset-bottom)) !important; gap: 0 !important;
    background: #0d0d0c !important; border: 0 !important; box-shadow: none !important; overflow-y: auto;
    counter-reset: xnav; clip-path: inset(0 0 100% 0); transform: none !important; visibility: hidden;
    transition: clip-path .6s cubic-bezier(.76,0,.24,1), visibility 0s .6s;
  }
  .nav-links.open { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .6s cubic-bezier(.76,0,.24,1), visibility 0s; }
  .nav-links li { counter-increment: xnav; opacity: 0; transform: translateY(18px); transition: opacity .4s, transform .5s cubic-bezier(.2,.8,.2,1); }
  .nav-links.open li { opacity: 1; transform: none; }
  .nav-links.open li:nth-child(1){transition-delay:.18s}.nav-links.open li:nth-child(2){transition-delay:.22s}
  .nav-links.open li:nth-child(3){transition-delay:.26s}.nav-links.open li:nth-child(4){transition-delay:.30s}
  .nav-links.open li:nth-child(5){transition-delay:.34s}.nav-links.open li:nth-child(6){transition-delay:.38s}
  .nav-links.open li:nth-child(7){transition-delay:.42s}.nav-links.open li:nth-child(8){transition-delay:.46s}
  .nav-links.open li:nth-child(9){transition-delay:.50s}.nav-links.open li:nth-child(10){transition-delay:.54s}
  .nav-links.open li:nth-child(11){transition-delay:.58s}
  .nav-links li:not(.nav-cta):not(.x-nav-app) a {
    display: flex !important; align-items: baseline; gap: 14px; padding: 13px 2px !important; border-radius: 0 !important;
    color: #f4efe4 !important; font-family: var(--serif); font-size: clamp(24px, 6.4vw, 34px) !important; font-weight: 500 !important;
    border-bottom: 1px solid rgba(255,255,255,.08); background: none !important;
  }
  .nav-links li:not(.nav-cta):not(.x-nav-app) a::before {
    content: counter(xnav, decimal-leading-zero); font: 600 11px/1 var(--font); letter-spacing: 1.5px; color: #c9a961; min-width: 22px;
  }
  .nav-links li:not(.nav-cta):not(.x-nav-app) a:hover, .nav-links li a[aria-current] { color: #c9a961 !important; }
  .nav-links .nav-cta { margin: 26px 0 0 !important; }
  .nav-links .nav-cta a { width: 100%; justify-content: center; padding: 16px !important; font-size: 16px !important; }
  .x-nav-app { display: block !important; margin-top: 12px; }
  .x-nav-app a { display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 15px !important; border-radius: 999px !important;
    border: 1px solid rgba(201,169,97,.55); color: #e8d6a0 !important; font-weight: 600 !important; font-size: 15px !important; background: transparent !important; }
  body:has(.nav-links.open) .site-header { background: #0d0d0c !important; border-bottom-color: transparent !important; }
  body:has(.nav-links.open) .site-header .logo, body:has(.nav-links.open) .site-header .logo small { color: #f4efe4 !important; }
  body:has(.nav-links.open) .hamburger span { background: #f4efe4 !important; }
  .site-header { z-index: 100; }
  .site-header .hamburger, .site-header .logo { position: relative; z-index: 102; }
}
.x-nav-app { display: none; }
html.is-app .x-nav-app, html.is-app [data-install], html.is-app .x-home-app { display: none !important; }
body.x-lock { overflow: hidden; }

/* ---------- mobile tab bar (app-like) ---------- */
.x-tabbar { display: none; }
@media (max-width: 760px) {
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .x-tabbar {
    position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 110;
    display: grid; grid-template-columns: repeat(5, 1fr); align-items: stretch;
    height: 60px; padding: 0 4px; border-radius: 20px;
    background: rgba(14,14,13,.88); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
    border: 1px solid rgba(255,255,255,.08); box-shadow: 0 12px 34px rgba(0,0,0,.28);
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
  }
  .x-tabbar.x-hide { transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom))); }
  .x-tabbar a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    color: rgba(244,239,228,.62); font: 600 10px/1 var(--font); letter-spacing: .3px; text-decoration: none; position: relative;
    -webkit-tap-highlight-color: transparent;
  }
  .x-tabbar svg { width: 22px; height: 22px; }
  .x-tabbar a.is-on { color: #e8d6a0; }
  .x-tabbar a.is-on::after { content: ""; position: absolute; top: 6px; width: 4px; height: 4px; border-radius: 50%; background: #c9a961; }
  .x-tabbar a.is-on svg { transform: translateY(2px); }
  .x-tabbar .x-tab-wa { color: #34d399; }
  body:has(.nav-links.open) .x-tabbar, body.x-lock .x-tabbar { transform: translateY(calc(100% + 20px + env(safe-area-inset-bottom))); }
  .toast { bottom: calc(86px + env(safe-area-inset-bottom)) !important; }
  .lb-overlay { z-index: 1000 !important; }
}

/* ---------- app promotion bar (phones) ---------- */
.x-appbar[hidden] { display: none !important; }
.x-appbar {
  position: fixed; left: 10px; right: 10px; bottom: calc(80px + env(safe-area-inset-bottom)); z-index: 111;
  display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 12px; border-radius: 18px;
  background: #fff; color: var(--dark); box-shadow: 0 16px 40px rgba(0,0,0,.22); border: 1px solid var(--line);
  transform: translateY(20px); opacity: 0; transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .3s;
}
.x-appbar.is-in { transform: none; opacity: 1; }
.x-appbar img { width: 42px; height: 42px; border-radius: 11px; flex: 0 0 42px; }
.x-appbar div { flex: 1; min-width: 0; line-height: 1.25; }
.x-appbar b { display: block; font-size: 14px; }
.x-appbar span { font-size: 12px; color: var(--muted); }
.x-appbar .btn { padding: 10px 16px; font-size: 13px; }
.x-appbar .x-close { background: none; border: 0; font-size: 22px; line-height: 1; color: var(--muted); padding: 4px 6px; }

/* ---------- install sheet ---------- */
.x-sheet[hidden] { display: none !important; }
.x-sheet { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-end; justify-content: center; }
.x-sheet-bg { position: absolute; inset: 0; background: rgba(8,8,8,.55); opacity: 0; transition: opacity .35s; }
.x-sheet-card {
  position: relative; width: min(520px, 100%); background: #fff; color: var(--ink); border-radius: 26px 26px 0 0;
  padding: 30px 26px calc(26px + env(safe-area-inset-bottom)); transform: translateY(100%); transition: transform .45s cubic-bezier(.2,.8,.2,1);
  max-height: 92dvh; overflow-y: auto;
}
.x-sheet.is-open .x-sheet-bg { opacity: 1; }
.x-sheet.is-open .x-sheet-card { transform: none; }
@media (min-width: 761px) { .x-sheet { align-items: center; } .x-sheet-card { border-radius: 26px; } }
.x-sheet-x { position: absolute; right: 14px; top: 12px; background: var(--bg-soft); border: 0; width: 36px; height: 36px; border-radius: 50%; font-size: 20px; line-height: 1; color: var(--dark); }
.x-sheet-card img.x-ico { width: 64px; height: 64px; border-radius: 16px; box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.x-sheet-card h3 { font-family: var(--serif); font-size: 24px; margin: 16px 0 6px; color: var(--dark); }
.x-sheet-card > p { color: var(--muted); font-size: 14.5px; margin: 0 0 18px; }
.x-steps { list-style: none; margin: 0; padding: 0; counter-reset: xs; display: none; }
.x-sheet[data-mode="ios"] .x-steps[data-for="ios"], .x-sheet[data-mode="other"] .x-steps[data-for="other"], .x-sheet[data-mode="prompt"] .x-steps[data-for="other"] { display: block; }
.x-steps li { counter-increment: xs; display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--line); font-size: 15px; }
.x-steps li::before { content: counter(xs); flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--dark); color: #e8d6a0; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.x-steps svg { width: 18px; height: 18px; vertical-align: -3px; color: #0a84ff; }

/* ---------- home: app band ---------- */
.x-home-app { background: #0d0d0c; color: #f4efe4; overflow: hidden; position: relative; }
.x-home-app .container { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; align-items: center; }
.x-home-app h2 { font-family: var(--serif); font-size: clamp(30px, 4vw, 46px); line-height: 1.1; color: #fff; margin: 10px 0 14px; }
.x-home-app p { color: rgba(244,239,228,.72); max-width: 520px; }
.x-home-app ul { list-style: none; padding: 0; margin: 20px 0 28px; display: grid; gap: 10px; }
.x-home-app li { display: flex; gap: 10px; align-items: center; color: rgba(244,239,228,.86); font-size: 15px; }
.x-home-app li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #c9a961; flex: 0 0 6px; }
.x-home-app .acts { display: flex; flex-wrap: wrap; gap: 12px; }
.x-home-app .btn-ghost { border: 1px solid rgba(255,255,255,.35); color: #fff; background: transparent; }
.x-phone { justify-self: center; width: 260px; aspect-ratio: 9 / 19; border-radius: 42px; padding: 10px; background: linear-gradient(145deg, #2a2620, #0a0a0a);
  box-shadow: 0 40px 80px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.08); position: relative; }
.x-phone-screen { position: absolute; inset: 10px; border-radius: 33px; overflow: hidden; background: #111; }
.x-phone-screen img { width: 100%; height: 58%; object-fit: cover; display: block; }
.x-phone-screen .x-ps-body { padding: 14px; }
.x-phone-screen .x-ps-body i { display: block; height: 9px; border-radius: 5px; background: rgba(255,255,255,.14); margin-bottom: 8px; }
.x-phone-screen .x-ps-body i:nth-child(1) { width: 40%; background: #c9a961; }
.x-phone-screen .x-ps-body i:nth-child(2) { width: 90%; height: 14px; background: rgba(255,255,255,.8); }
.x-phone-screen .x-ps-body i:nth-child(3) { width: 70%; }
.x-phone-screen .x-ps-tab { position: absolute; left: 10px; right: 10px; bottom: 10px; height: 38px; border-radius: 14px; background: rgba(255,255,255,.08); display: flex; justify-content: space-around; align-items: center; }
.x-phone-screen .x-ps-tab b { width: 16px; height: 16px; border-radius: 5px; background: rgba(255,255,255,.3); }
.x-phone-screen .x-ps-tab b:first-child { background: #c9a961; }
.x-phone::before { content: ""; position: absolute; top: 18px; left: 50%; width: 76px; height: 20px; border-radius: 12px; background: #000; transform: translateX(-50%); z-index: 2; }
@media (max-width: 860px) { .x-home-app .container { grid-template-columns: 1fr; } .x-phone { width: 210px; } }

/* footer app button */
.x-footer-app { margin-top: 10px; background: transparent; border: 1px solid rgba(201,169,97,.6); color: #e8d6a0; }
.x-footer-app:hover { background: #c9a961; color: #111; }

/* ---------- headline reveal ---------- */
.x-split .x-w { display: inline-block; vertical-align: top; clip-path: inset(-40% -25% -6% -25%); }
.x-split .x-w > span { display: inline-block; transform: translateY(105%); transition: transform .9s cubic-bezier(.16,.84,.24,1); transition-delay: calc(var(--i) * 45ms + 80ms); }
.x-split.x-in .x-w > span { transform: none; }
.ax-intro .big { opacity: 0; transform: translateY(16px); transition: opacity .8s, transform .9s cubic-bezier(.16,.84,.24,1); }
.ax-intro .big.x-in { opacity: 1; transform: none; }

/* ---------- image reveal ---------- */
.x-reveal { clip-path: inset(0 0 0 0); }
.x-reveal img { transition: transform 1.3s cubic-bezier(.16,.84,.24,1); }
.x-reveal:not(.x-shown) { clip-path: inset(10% 0 0 0 round var(--radius)); }
.x-reveal:not(.x-shown) img { transform: scale(1.12); }
.x-reveal { transition: clip-path 1s cubic-bezier(.16,.84,.24,1); }

/* ---------- hero overflow for parallax ---------- */
.ax-hero { overflow: hidden; }
.ax-hero-media { will-change: transform; }

/* ---------- custom cursor (mouse only) ---------- */
.x-cursor-dot, .x-cursor-ring { position: fixed; left: 0; top: 0; z-index: 3000; pointer-events: none; }
.x-cursor-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #b08d3e; }
.x-cursor-ring { width: 36px; height: 36px; margin: -18px 0 0 -18px; }
.x-cursor-ring > span { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(176,141,62,.6); display: flex; align-items: center; justify-content: center;
  font: 600 11px/1 var(--font); letter-spacing: 1px; text-transform: uppercase; color: #fff;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), background .3s, border-color .3s; }
.x-cursor-ring.is-link > span { transform: scale(1.5); background: rgba(176,141,62,.12); }
.x-cursor-ring.is-view > span { transform: scale(2.4); background: rgba(13,13,12,.82); border-color: transparent; font-size: 8px; letter-spacing: .7px; }
html.x-cursor-off .x-cursor-dot, html.x-cursor-off .x-cursor-ring { opacity: 0 !important; }
.btn, .ax-link, .jx-more { transition: transform .35s cubic-bezier(.2,.8,.2,1), background .25s, color .25s, border-color .25s; }


/* ---------- premium home motion ---------- */
.js .hero .container > .hero-badge,
.js .hero .container > h1,
.js .hero .container > .sub,
.js .hero .container > .hero-actions {
  opacity: 0;
  transform: translateY(14px);
  animation: x-home-reveal .72s cubic-bezier(.16,.84,.24,1) forwards;
}
.js .hero .container > .hero-badge { animation-delay: .10s; }
.js .hero .container > h1 { animation-delay: .18s; }
.js .hero .container > .sub { animation-delay: .26s; }
.js .hero .container > .hero-actions { animation-delay: .34s; }
@keyframes x-home-reveal {
  to { opacity: 1; transform: none; }
}
.hero-dot { transition: width .32s cubic-bezier(.2,.8,.2,1), background .25s, border-color .25s, transform .25s; }
.hero-dot:hover { transform: scale(1.12); }
.hero .hero-image { transition: opacity .9s cubic-bezier(.2,.7,.2,1); }
.hero .hero-image.is-active { animation-duration: 12s; }
.hero-actions .btn { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  .js .hero .container > .hero-badge,
  .js .hero .container > h1,
  .js .hero .container > .sub,
  .js .hero .container > .hero-actions {
    opacity: 1; transform: none; animation: none !important;
  }
}

/* ---------- small refinements ---------- */
::selection { background: #c9a961; color: #111; }
html { scroll-padding-top: 90px; }
@media (max-width: 760px) {
  input, select, textarea { font-size: 16px !important; } /* no zoom on focus in iOS */
  .btn { min-height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  html::before, html::after { display: none !important; }
  .x-split .x-w > span, .x-reveal, .x-reveal img, .nav-links li { transition: none !important; transform: none !important; }
}

/* neighbourhood decision layer v34 */
.nh-decision{padding:34px 0 10px}.nh-decision-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}.nh-decision-head .eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:700}.nh-decision-head h2{font-family:var(--serif);font-size:clamp(26px,3vw,38px);margin:6px 0 0;color:var(--dark)}.nh-decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.nh-decision-card{background:#fff;border:1px solid var(--line);padding:20px 20px 18px;border-radius:12px;min-height:150px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.nh-decision-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.07);border-color:rgba(176,141,62,.45)}.nh-decision-card b{display:block;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.nh-decision-card p{margin:0;color:var(--ink);font-size:14px;line-height:1.65}.nh-fit{margin-top:14px;padding:18px 20px;border-left:2px solid var(--gold);background:var(--bg-soft);color:var(--ink);font-size:15px;line-height:1.65}.nh-fit strong{font-family:var(--serif);font-size:19px;color:var(--dark);margin-right:8px}@media(max-width:900px){.nh-decision-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.nh-decision{padding-top:24px}.nh-decision-grid{grid-template-columns:1fr}.nh-decision-card{min-height:0}.nh-decision-head{display:block}}


/* ---------- V39 polish: accessibility + mobile performance ---------- */
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid #c9a961;
  outline-offset: 3px;
}
@media (hover:none) and (pointer:coarse) {
  .x-cursor-dot, .x-cursor-ring { display:none !important; }
  .hero-actions .btn, .btn, .ax-link, .jx-more { will-change:auto; }
}
@media (max-width:760px) {
  .x-appbar { bottom: calc(78px + env(safe-area-inset-bottom)); }
  .x-appbar .btn { flex:0 0 auto; }
  .x-home-app { padding: 72px 0 76px !important; }
  .x-home-app .container { gap: 34px; }
  .x-home-app .acts { width:100%; }
  .x-home-app .acts .btn { flex:1 1 190px; justify-content:center; text-align:center; }
  .x-phone { width:min(210px, 62vw); margin-top:4px; }
  .premium-choice-grid { gap:12px !important; }
  .premium-choice { min-height:58vh !important; }
  .premium-choice-content { padding:26px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .x-appbar, .x-sheet-bg, .x-sheet-card, .site-header, .x-tabbar { transition:none !important; }
}

.app-install-hero { display:grid; grid-template-columns:1fr 220px; gap:30px; align-items:center; margin:0 0 46px; padding:34px; background:var(--bg-soft); border:1px solid var(--line); border-radius:24px; }
.app-install-hero h3 { font-family:var(--serif); font-size:clamp(26px,3vw,38px); margin:6px 0 8px; color:var(--dark); }
.app-install-hero p { max-width:620px; color:var(--muted); margin:0 0 20px; }
.app-qr { justify-self:end; text-align:center; }
.app-qr img { width:180px; height:180px; display:block; border-radius:16px; background:#fff; padding:8px; box-shadow:0 12px 30px rgba(0,0,0,.08); }
.app-qr span { display:block; margin-top:10px; color:var(--muted); font-size:12px; }
@media(max-width:760px){.app-install-hero{grid-template-columns:1fr; padding:24px;}.app-qr{justify-self:start;display:flex;align-items:center;gap:14px}.app-qr img{width:120px;height:120px}.app-qr span{max-width:130px;text-align:left}}



/* V41 footer QR — intentionally placed in the final black bar */
.footer-bottom{align-items:center}
.footer-qr{display:flex;align-items:center;gap:14px;min-height:72px}
.footer-qr strong{display:block;color:#fff;font-size:9px;letter-spacing:1.7px;font-weight:700}
.footer-qr span{display:block;margin-top:4px;color:#8a8781;font-size:11px}
.footer-qr a{display:block;flex:0 0 72px;width:72px;height:72px;border-radius:10px;background:#fff;padding:4px;box-sizing:border-box}
.footer-qr img{display:block;width:64px;height:64px}
.footer-legal{margin-left:auto}
@media(max-width:760px){.footer-bottom{align-items:flex-start}.footer-qr{width:100%;min-height:64px}.footer-qr a{flex-basis:64px;width:64px;height:64px}.footer-qr img{width:56px;height:56px}.footer-legal{margin-left:0;width:100%}}

/* V42 · iOS standalone safe-area + persistent app header */
@media (display-mode: standalone) {
  html.is-app .site-header {
    top: 0;
    padding-top: env(safe-area-inset-top);
    background: rgba(255,255,255,.98);
    z-index: 200;
  }
  html.is-app .site-header.x-hide { transform: none !important; }
  html.is-app .x-progress { top: env(safe-area-inset-top); }
}
@supports (-webkit-touch-callout: none) {
  html.is-app .site-header { padding-top: env(safe-area-inset-top); }
  html.is-app .site-header.x-hide { transform: none !important; }
}
