/* ---------- Custom cursor (TBC) — simple dot + ring ---------- */
@media (hover:hover) and (pointer:fine){
  html.has-cursor, html.has-cursor body{ cursor:none; }
  html.has-cursor a, html.has-cursor button, html.has-cursor input,
  html.has-cursor select, html.has-cursor textarea, html.has-cursor .magnetic{ cursor:none; }

  .tbc-cursor{
    position:fixed; top:0; left:0; z-index:100000; pointer-events:none;
    width:6px; height:6px; border-radius:50%;
    background:var(--orange, #e9a13b);
    box-shadow:0 0 10px rgba(233,161,59,.8);
    transform:translate3d(-100px,-100px,0) translate(-50%,-50%);
    transition:width .2s ease, height .2s ease, opacity .2s ease;
  }
  .tbc-cursor-ring{
    position:fixed; top:0; left:0; z-index:99999; pointer-events:none;
    width:32px; height:32px; border-radius:50%;
    border:1px solid rgba(233,161,59,.5);
    transform:translate3d(-100px,-100px,0) translate(-50%,-50%);
    transition:width .25s cubic-bezier(.2,.7,.2,1), height .25s cubic-bezier(.2,.7,.2,1),
               border-color .25s ease, opacity .25s ease;
  }
  html.cursor-hover .tbc-cursor-ring{
    width:44px; height:44px; border-color:rgba(233,161,59,.9);
  }
  html.cursor-out .tbc-cursor, html.cursor-out .tbc-cursor-ring{ opacity:0; }
}
@media (hover:none), (pointer:coarse){
  .tbc-cursor, .tbc-cursor-ring{ display:none !important; }
}
@media (prefers-reduced-motion:reduce){
  .tbc-cursor, .tbc-cursor-ring{ transition:none; }
}

/* ---------- Preloader "TBC" lockup: stop the flicker/glitch ---------- */
#preloader .preloader-title-mark,
#preloader .preloader-title-mark .pl-ch{
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:#f4e6cd !important;
  color:#f4e6cd !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
  display:inline-block;
  margin:0 !important;
}
#preloader .preloader-title-mark{
  letter-spacing:.08em;
  text-shadow:0 0 42px rgba(227,168,87,.26);
  will-change:auto;
}
#preloader .preloader-title-full{ animation:none !important; opacity:1 !important; letter-spacing:.3em; text-indent:0; }

/* ---------- Live map block (contact) ---------- */
.map-block.map-live{ aspect-ratio:16/10; background:#0d0d0f; }
.map-block.map-live iframe{
  width:100%; height:100%; border:0; display:block;
  filter:grayscale(.55) contrast(1.05) brightness(.92);
}
.map-block.map-live .map-pin{ display:none; }
.map-block.map-live .map-caption{
  position:absolute; left:16px; bottom:16px; z-index:2;
  display:flex; flex-direction:column; gap:2px;
  padding:12px 16px; border-radius:12px;
  background:rgba(8,8,10,.78); border:1px solid rgba(233,161,59,.35);
  backdrop-filter:blur(8px);
}
.map-caption-title{ font-size:14px; font-weight:700; color:var(--text,#f2f2f2); letter-spacing:.02em; }
.map-caption-sub{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-mute,#9a9a9a); }
.map-caption-link{ margin-top:6px; font-size:12px; color:var(--orange,#e9a13b); text-decoration:none; }
.map-caption-link:hover{ text-decoration:underline; }


/* ============================================================
   v9 OVERRIDES
   1. Native cursors instead of the custom dot + ring
   2. Wider service image card so photos are not cropped
   3. No "TBC" mark flashing during page transitions
   ============================================================ */

/* --- 1. Cursor type --- */
html, html body,
html.has-cursor, html.has-cursor body { cursor: auto !important; }
html.has-cursor a,
html.has-cursor button,
html.has-cursor [role="button"],
html.has-cursor summary,
html.has-cursor label,
html.has-cursor .magnetic,
a, button, [role="button"], summary, .magnetic { cursor: pointer !important; }
html.has-cursor input,
html.has-cursor textarea,
html.has-cursor select,
input, textarea { cursor: text !important; }
select { cursor: pointer !important; }
.tbc-cursor, .tbc-cursor-ring, .cursor-dot, .cursor-ring, .cursor-label {
  display: none !important;
}

/* --- 2. Service showcase image card: wider, nothing cropped --- */
.svc-story .wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) !important; }
#svcImgFrame {
  max-width: 780px !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
}
#svcImgFrame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1200px) {
  #svcImgFrame { max-width: 640px !important; }
}
@media (max-width: 900px) {
  .svc-story .wrap { grid-template-columns: 1fr; }
  #svcImgFrame { max-width: 560px !important; }
}

/* --- 3. Kill the TBC flash between pages --- */
.tbc-curtain .tbc-curtain-mark,
.pm-curtain,
.pm-mosaic { display: none !important; }
