/* ==========================================================================
   Redesigned pages (about, portfolio, listing, areas, sell, contact)
   Same DA as the homepage: warm white, Cormorant / Jost / Tenor Sans,
   ink-brown small capitals with a bronze rule, black buttons, terracotta italics.
   ========================================================================== */
.hdr-sp { height: var(--hdr-h); }
.lbl { display: flex; align-items: center; gap: 16px; font-family: "Tenor Sans", Jost, sans-serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #6F5747; }
.lbl::before { content: ""; width: 28px; height: 1px; background: #A0714F; }
.pg a { transition: color .3s, background-color .3s, border-color .3s, opacity .3s; }
.pg a[style*="background: #1E1F1C"]:hover, .pg button[style*="background: #1E1F1C"]:hover { opacity: .86; }
.pg a[style*="border: 1px solid #3B2B22"]:hover { background: #3B2B22 !important; color: #FDFBF7 !important; }
.pg img { max-width: none; }
.pg input, .pg select, .pg textarea { outline: none; }
.pg input:focus, .pg select:focus, .pg textarea:focus { border-color: #7E3F28 !important; }
.form-note { margin: 0; font-size: 13px; color: #806A5B; }
.form-legal { margin: 0; font-size: 12.5px; line-height: 1.6; color: #806A5B; }
.form-legal a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(126,63,40,.35); }
.form-legal a:hover { color: #C2855E; border-color: #7E3F28; }
.form-sent { padding: 30px 0 10px; animation: formSentIn .9s cubic-bezier(.2,.7,.2,1) both; }
.form-sent__mark { display: block; width: 8px; height: 8px; background: #B0603F; transform: rotate(45deg); }
.form-sent h3 { margin: 18px 0 10px; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(32px, 2.8vw, 42px); line-height: 1.1; color: #3B2B22; }
.form-sent p { margin: 0; color: #6F5747; max-width: 420px; }
@keyframes formSentIn { from { opacity: 0; transform: translateY(12px); } }

/* Reveal on scroll (core.js reveal adds .is-in) */
.pg .rv { opacity: 0; transform: translateY(24px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.pg .rv.is-in { opacity: 1; transform: none; }

/* Horizontal photo tracks */
.trk { cursor: grab; }
.trk.is-drag { cursor: grabbing; scroll-snap-type: none !important; user-select: none; }
.trk img { pointer-events: none; }
.trk::-webkit-scrollbar { height: 3px; }
.trk::-webkit-scrollbar-thumb { background: #B0603F; }

/* Lightbox */
.lbx { position: fixed; inset: 0; z-index: 9500; background: rgba(25,18,14,.94); display: none; align-items: center; justify-content: center; }
.lbx.is-open { display: flex; }
.lbx img { max-width: 92vw; max-height: 86vh; object-fit: contain; }
.lbx button { position: absolute; color: #FDFBF7; font-size: 40px; line-height: 1; width: 64px; height: 64px; }
.lbx__x { top: 14px; right: 14px; }
.lbx__p { left: 10px; top: 50%; transform: translateY(-50%); }
.lbx__n { right: 10px; top: 50%; transform: translateY(-50%); }
.lbx__c { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; color: #E3D5C7; font-family: "Tenor Sans", Jost, sans-serif; font-size: 11px; letter-spacing: .22em; }

/* Phones */
@media (max-width: 720px) {
  .pg section { scroll-margin-top: 80px; }
}
/* Phone field with country code picker */
.tel{position:relative}
.tel>input{width:100%;box-sizing:border-box}
.tel__cc{position:absolute;top:0;bottom:0;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;letter-spacing:0;text-transform:none;color:#3B2B22;cursor:pointer;white-space:nowrap}
.tel__cc svg{margin-left:2px;opacity:.55}
.tel__f{font-size:1.05em;line-height:1}
.tel__pop{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:min(340px,88vw);padding:10px;background:#FDFBF7;border-radius:14px;box-shadow:0 24px 50px -20px rgba(59,43,34,.35),0 0 0 1px rgba(126,63,40,.12);letter-spacing:0;text-transform:none}
.tel__q{width:100%;box-sizing:border-box;padding:8px 4px 10px;border:0;border-bottom:1px solid rgba(59,43,34,.22);border-radius:0;background:transparent;font:300 15px Jost,sans-serif;color:#3B2B22;outline:none}
.tel__q:focus{border-bottom-color:#7E3F28}
.tel__list{max-height:260px;overflow:auto;margin-top:6px}
.tel__o{display:flex;align-items:center;gap:10px;width:100%;padding:8px 6px;border:0;border-radius:8px;background:none;text-align:left;font:300 14.5px Jost,sans-serif;letter-spacing:0;text-transform:none;color:#3B2B22;cursor:pointer}
.tel__o:hover,.tel__o:focus{background:#F4ECE0;outline:none}
.tel__o.is-on{color:#C2855E}
.tel__n{flex:1}
.tel__c{font-size:13px;color:#806A5B}
.tel__sep{margin:6px 0;border:0;border-top:1px solid rgba(126,63,40,.15)}
.tel__none{padding:12px 6px;font:300 14px Jost,sans-serif;color:#806A5B;text-transform:none;letter-spacing:0}