/* SHIREEN DIGITAL CONTACT CARD v2.1.2-r1 — PREMIUM FUNCTIONAL REFINEMENT */
:root{
  --c-bg:#F7F3EE;
  --c-paper:#FFFDF9;
  --c-card:#FFFFFF;
  --c-ink:#2B2623;
  --c-muted:#746B65;
  --c-charcoal:#25211F;
  --c-charcoal-2:#302A27;
  --c-rose:#B77779;
  --c-rose-2:#9F696B;
  --c-gold:#C8A96B;
  --c-gold-2:#A98751;
  --c-line:rgba(37,33,31,.12);
  --c-soft:rgba(255,255,255,.76);
  --c-shadow:0 18px 48px rgba(37,33,31,.10);
  --c-shadow-soft:0 10px 28px rgba(37,33,31,.07);
}
body.v212-dark{
  --c-bg:#181513;
  --c-paper:#211D1B;
  --c-card:#282321;
  --c-ink:#F5EEE8;
  --c-muted:#C2B7AF;
  --c-charcoal:#161311;
  --c-charcoal-2:#26211E;
  --c-line:rgba(255,255,255,.12);
  --c-soft:rgba(42,37,34,.92);
  --c-shadow:0 20px 52px rgba(0,0,0,.34);
  --c-shadow-soft:0 12px 30px rgba(0,0,0,.22);
}
html.v212-active{scroll-behavior:smooth}
body.v212-refined{
  margin:0;
  background:
    radial-gradient(circle at 12% 0%,rgba(183,119,121,.10),transparent 34rem),
    radial-gradient(circle at 94% 18%,rgba(200,169,107,.09),transparent 29rem),
    var(--c-bg);
  color:var(--c-ink);
  transition:background .2s ease,color .2s ease;
}
body.v212-refined [data-v212-legacy-hidden="1"]{display:none!important}

.v212-card{
  width:min(100%,1180px);
  margin:0 auto;
  padding:16px 20px 46px;
  box-sizing:border-box;
  font-family:inherit;
}
.v212-card *{box-sizing:border-box}
.v212-card a{text-decoration:none;color:inherit}
.v212-icon{
  width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

/* Header */
.v212-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:2px 4px 15px;
}
.v212-logo img{display:block;width:min(245px,58vw);height:auto}
.v212-head-right{display:flex;align-items:center;gap:8px}
.v212-office{
  min-height:42px;padding:0 14px;border-radius:999px;
  display:flex;align-items:center;gap:8px;
  background:var(--c-soft);border:1px solid var(--c-line);
  color:var(--c-ink);font-size:.82rem;font-weight:800;
  box-shadow:var(--c-shadow-soft);
}
.v212-office span small{display:block;font-size:.64rem;font-weight:600;color:var(--c-muted);line-height:1.1}
.v212-head-button{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid var(--c-line);background:var(--c-soft);
  color:var(--c-ink);cursor:pointer;
  box-shadow:var(--c-shadow-soft);
}
.v212-head-button:hover{border-color:rgba(200,169,107,.55)}
.v212-theme-sun{display:none}
body.v212-dark .v212-theme-moon{display:none}
body.v212-dark .v212-theme-sun{display:block}

/* Hero */
.v212-hero{
  display:grid;
  grid-template-columns:205px minmax(0,1fr) 178px;
  align-items:center;
  gap:20px;
  padding:24px 26px;
  overflow:hidden;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(200,169,107,.12),transparent 24rem),
    linear-gradient(135deg,#2B2623 0%,#1F1B19 100%);
  border:1px solid rgba(200,169,107,.30);
  box-shadow:var(--c-shadow);
}
.v212-profile-wrap{display:grid;place-items:center}
.v212-profile{
  width:176px;height:176px;
  object-fit:cover;object-position:center top;
  border-radius:50%;
  border:2px solid rgba(200,169,107,.52);
  box-shadow:0 18px 38px rgba(0,0,0,.28);
}
.v212-hero-copy{min-width:0}
.v212-kicker{
  margin:0 0 8px;
  color:var(--c-gold);
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:.69rem;
  font-weight:900;
}
.v212-hero h1{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.75rem,5vw,4.55rem);
  font-weight:500;line-height:.95;letter-spacing:-.045em;
}
.v212-role{margin:0 0 6px;font-size:1rem}
.v212-service-line{margin:0;color:#D9CECA;font-size:.84rem;line-height:1.55}
.v212-tagline{
  margin:16px 0 0;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.13rem;color:#F2E3D6;
}
.v212-desktop-qr{
  text-align:center;
  border-radius:19px;
  padding:13px;
  background:rgba(255,255,255,.95);
  color:#312A26;
  border:1px solid rgba(200,169,107,.40);
}
.v212-desktop-qr img{
  display:block;width:132px;height:132px;margin:0 auto 7px;
  border-radius:9px;background:#fff;
}
.v212-desktop-qr strong{display:block;font-size:.78rem}
.v212-desktop-qr span{display:block;margin-top:3px;font-size:.65rem;color:#71655E}
.v212-desktop-qr button{
  margin-top:7px;border:0;background:none;padding:0;
  color:#7B5F46;font-size:.68rem;font-weight:800;cursor:pointer;
}

/* Primary actions */
.v212-primary{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;
  margin:13px 0 34px;
}
.v212-action{
  min-height:56px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--c-line);
  background:var(--c-soft);color:var(--c-ink);
  font-size:.87rem;font-weight:850;
  box-shadow:var(--c-shadow-soft);
  transition:transform .17s ease,border-color .17s ease,background .17s ease;
}
.v212-action:hover{transform:translateY(-2px);border-color:rgba(200,169,107,.55)}
.v212-action.call{background:var(--c-charcoal);border-color:var(--c-charcoal);color:#fff}
.v212-action.meeting{
  background:linear-gradient(135deg,var(--c-rose-2),var(--c-rose));
  border-color:transparent;color:#fff;
}

/* Sections */
.v212-section{margin:0 0 38px}
.v212-section-head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:15px;
}
.v212-section-head h2{
  margin:4px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;font-size:clamp(1.75rem,3.8vw,2.5rem);
  line-height:1.07;letter-spacing:-.025em;color:var(--c-ink);
}
.v212-section-head p{max-width:500px;margin:0;color:var(--c-muted);line-height:1.55;font-size:.9rem}
.v212-more{font-weight:850;color:#7E6047!important;font-size:.84rem;white-space:nowrap}
body.v212-dark .v212-more{color:#D8B47B!important}

/* Featured properties */
.v212-properties{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.v212-property{
  min-width:0;overflow:hidden;border-radius:20px;
  background:var(--c-card);border:1px solid var(--c-line);
  box-shadow:var(--c-shadow-soft);
}
.v212-property-image{aspect-ratio:16/10;overflow:hidden;background:#DED6CF}
.v212-property-image img{display:block;width:100%;height:100%;object-fit:cover}
.v212-property-body{padding:15px 15px 16px}
.v212-property h3{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  min-height:2.55em;margin:0 0 9px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;font-size:1.05rem;line-height:1.27;color:var(--c-ink);
}
.v212-property-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v212-price{font-size:.92rem;font-weight:900;color:#825F44}
body.v212-dark .v212-price{color:#DBB57F}
.v212-view{font-size:.79rem;font-weight:850;color:var(--c-muted)}

/* Services - deliberately darker and more tactile */
.v212-services{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
}
.v212-service{
  position:relative;min-height:145px;padding:19px;
  border-radius:19px;
  color:#F8F2ED;
  background:linear-gradient(145deg,#302A27,#221E1C);
  border:1px solid rgba(200,169,107,.48);
  box-shadow:0 10px 28px rgba(37,33,31,.12);
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.v212-service .v212-icon{color:var(--c-gold);width:23px;height:23px}
.v212-service strong{
  margin-top:15px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;font-size:1.18rem;
}
.v212-service span{margin-top:7px;color:#D7CCC6;font-size:.79rem;line-height:1.45}
.v212-service b{position:absolute;right:16px;bottom:14px;color:var(--c-gold);font-size:1.1rem}
.v212-service:hover,.v212-service:focus-visible{
  transform:translateY(-3px);
  background:linear-gradient(145deg,#493838,#2F2623);
  border-color:rgba(183,119,121,.85);
  box-shadow:0 15px 34px rgba(37,33,31,.18);
}
.v212-service:active{
  transform:translateY(0) scale(.985);
  background:linear-gradient(145deg,#845A5D,#5D4243);
  border-color:#D6B06E;
}

/* Quick actions */
.v212-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v212-tool{
  min-height:70px;padding:13px 15px;border-radius:16px;
  display:flex;align-items:center;gap:12px;
  background:var(--c-card);border:1px solid var(--c-line);
  box-shadow:var(--c-shadow-soft);font-weight:850;
}
.v212-tool .v212-icon{width:23px;height:23px;color:var(--c-rose);flex:0 0 auto}
.v212-tool small{display:block;margin-top:2px;font-weight:500;color:var(--c-muted);font-size:.73rem}

/* About / areas */
.v212-about{
  display:grid;grid-template-columns:.88fr 1.12fr;overflow:hidden;
  border-radius:21px;border:1px solid rgba(200,169,107,.24);
}
.v212-about-title{padding:28px;background:var(--c-charcoal);color:#fff}
.v212-about-title h2{
  margin:6px 0 0;font-family:Georgia,"Times New Roman",serif;
  font-size:1.75rem;font-weight:500;line-height:1.15;
}
.v212-about-copy{display:flex;align-items:center;padding:28px;background:var(--c-soft)}
.v212-about-copy p{margin:0;color:var(--c-muted);line-height:1.7}
.v212-areas{
  padding:18px;border-radius:18px;
  background:var(--c-card);border:1px solid var(--c-line);
}
.v212-chips{display:flex;flex-wrap:wrap;gap:7px}
.v212-chip{
  padding:7px 11px;border-radius:999px;
  background:var(--c-soft);border:1px solid var(--c-line);
  font-size:.78rem;color:var(--c-ink);
}
.v212-area-details{margin-top:11px}
.v212-area-details summary{
  list-style:none;cursor:pointer;font-weight:850;font-size:.82rem;color:#795C45
}
body.v212-dark .v212-area-details summary{color:#D8B47B}
.v212-area-details summary::-webkit-details-marker{display:none}
.v212-area-details summary:after{content:"  +";color:var(--c-gold)}
.v212-area-details[open] summary:after{content:"  –"}
.v212-area-all{padding-top:11px}

/* Social / footer compacted */
.v212-connect{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:22px;align-items:center;
  padding:20px 0 2px;
}
.v212-connect-copy h2{
  margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:2rem;
}
.v212-socials{display:flex;gap:8px;flex-wrap:wrap}
.v212-social{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--c-card);border:1px solid var(--c-line);color:var(--c-ink);
  box-shadow:var(--c-shadow-soft);
}
.v212-social svg{width:18px;height:18px;fill:currentColor}
.v212-utility{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--c-line);
  display:flex;align-items:center;flex-wrap:wrap;gap:13px;
  color:var(--c-muted);font-size:.8rem;
}
.v212-utility a,.v212-utility button{
  border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer
}
.v212-credit{margin-left:auto}.v212-credit a{font-weight:900;color:#4E755F}
.v212-footer{
  padding:18px 0 4px;text-align:center;color:var(--c-muted);font-size:.79rem;
}
.v212-footer strong{color:var(--c-ink)}

/* Sticky mobile contact bar */
.v212-sticky{
  display:none;position:fixed;z-index:9997;
  left:12px;right:12px;bottom:calc(7px + env(safe-area-inset-bottom));
  grid-template-columns:1fr 1fr;gap:8px;
  padding:7px;border-radius:17px;
  background:rgba(37,33,31,.97);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  backdrop-filter:blur(13px);
}
.v212-sticky a{
  min-height:46px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.9rem;font-weight:900;
}
.v212-sticky a:last-child{background:linear-gradient(135deg,#9E805D,#B89A70)}

/* Share sheet */
.v212-modal{
  display:none;position:fixed;inset:0;z-index:10020;
  align-items:center;justify-content:center;padding:18px;
  background:rgba(20,17,15,.64);
}
.v212-modal.open{display:flex}
.v212-sheet{
  width:min(100%,450px);padding:21px;border-radius:23px;
  background:var(--c-paper);color:var(--c-ink);
  box-shadow:0 26px 70px rgba(0,0,0,.30);
}
.v212-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.v212-sheet-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.5rem}
.v212-close{
  width:37px;height:37px;border-radius:50%;border:1px solid var(--c-line);
  background:var(--c-card);color:var(--c-ink);font-size:1.15rem;cursor:pointer
}
.v212-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v212-share-grid button,.v212-share-grid a{
  min-height:52px;border-radius:13px;border:1px solid var(--c-line);
  background:var(--c-card);color:var(--c-ink);
  display:flex;align-items:center;justify-content:center;
  font:inherit;font-weight:850;cursor:pointer;
}
.v212-qr-panel{display:none;text-align:center;padding:16px 0 2px}
.v212-qr-panel.open{display:block}
.v212-qr-panel img{
  width:min(235px,70vw);height:auto;border-radius:12px;
  border:9px solid #fff;box-shadow:var(--c-shadow-soft)
}
.v212-qr-panel p{margin:8px 0 0;color:var(--c-muted);font-size:.78rem}
.v212-toast{
  position:fixed;left:50%;bottom:88px;z-index:10030;
  transform:translateX(-50%);opacity:0;pointer-events:none;
  padding:9px 13px;border-radius:999px;
  background:#25211F;color:#fff;font-size:.8rem;transition:.18s ease;
}
.v212-toast.show{opacity:1}

/* Responsive */
@media(max-width:900px){
  .v212-card{padding:13px 14px calc(84px + env(safe-area-inset-bottom))}
  .v212-top{grid-template-columns:minmax(0,1fr) auto}
  .v212-office{grid-column:1/-1;grid-row:2;justify-self:start;min-height:36px;padding:0 11px}
  .v212-head-button{width:40px;height:40px}
  .v212-hero{grid-template-columns:118px minmax(0,1fr);gap:10px;padding:18px}
  .v212-profile{width:94px;height:94px}
  .v212-desktop-qr{display:none}
  .v212-hero h1{font-size:clamp(1.8rem,7vw,2.8rem)}
  .v212-service-line{display:none}
  .v212-tagline{font-size:.9rem;padding-top:10px;margin-top:10px}
  .v212-primary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}
  .v212-action.meeting{grid-column:1/-1}
  .v212-section-head{align-items:flex-start;flex-direction:column;gap:8px}

  /* FIX: horizontal snap carousel with isolated card widths; no overlap */
  .v212-properties{
    display:flex;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 14px 10px 1px;
    margin-right:-14px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .v212-properties::-webkit-scrollbar{display:none}
  .v212-property{
    flex:0 0 min(78vw,300px);
    width:min(78vw,300px);
    scroll-snap-align:start;
  }
  .v212-property h3{min-height:2.55em}

  .v212-services{grid-template-columns:1fr 1fr}
  .v212-tools{grid-template-columns:1fr}
  .v212-about{grid-template-columns:1fr}
  .v212-about-title,.v212-about-copy{padding:23px}
  .v212-connect{grid-template-columns:1fr;gap:12px}
  .v212-sticky{display:grid}
  .v212-credit{width:100%;margin-left:0}
}
@media(max-width:560px){
  .v212-logo img{width:min(210px,57vw)}
  .v212-head-right{gap:6px}
  .v212-office{font-size:.77rem}
  .v212-hero{grid-template-columns:92px minmax(0,1fr);padding:14px;border-radius:20px}
  .v212-profile{width:76px;height:76px}
  .v212-kicker{font-size:.57rem;margin-bottom:5px}
  .v212-hero h1{font-size:clamp(1.55rem,7.6vw,2.15rem);margin-bottom:5px}
  .v212-role{font-size:.78rem}
  .v212-tagline{font-size:.82rem}
  .v212-primary{gap:7px}
  .v212-action{min-height:50px;font-size:.77rem}
  .v212-section{margin-bottom:31px}
  .v212-properties{gap:10px}
  .v212-property{flex-basis:82vw;width:82vw;max-width:292px}
  .v212-service{min-height:138px;padding:16px}
  .v212-service strong{font-size:1.02rem}
  .v212-service span{font-size:.75rem}
  .v212-connect-copy h2{font-size:1.8rem}
  .v212-share-grid{grid-template-columns:1fr}
  .v212-footer{padding-bottom:2px}
}
@media(prefers-reduced-motion:reduce){
  html.v212-active{scroll-behavior:auto}
  .v212-action,.v212-service,.v212-toast{transition:none}
}