/* Site-wide motion: cursor spotlight on cards, 3D tilt, and word-by-word heading reveal (see js/fx.js). */
.fx-spot{ position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .35s; background:radial-gradient(340px circle at var(--fx-x,50%) var(--fx-y,50%),rgba(247,148,29,.2),transparent 62%); }
.fx-on > .fx-spot{ opacity:1; }
.fx-tilting{ will-change:transform; }
.fx-w{ display:inline-block; overflow:hidden; vertical-align:top; padding:0 .04em .14em; margin:0 -.04em -.14em; }
.fx-wi{ display:inline-block; transform:translateY(112%); transition:transform .85s cubic-bezier(.2,.8,.2,1); transition-delay:calc(var(--i) * 55ms); }
.fx-in .fx-wi{ transform:none; }
@media (prefers-reduced-motion:reduce){ .fx-wi{ transform:none; transition:none; } .fx-spot{ display:none; } }
/* ===== MOBILE POLISH (phones): consistent button sizes, comfortable tap targets, readable small text ===== */
@media (max-width:575px){
  /* CTA button rows: every button the same width and height */
  .pg-btn{ width:100%; justify-content:center; min-height:52px; padding-top:.8rem; padding-bottom:.8rem; font-size:.98rem; }
  /* button pairs sit side by side on one line, equal width and height */
  .btns, .hx-btns, .pg-hero-acts{ display:flex; flex-direction:row; flex-wrap:nowrap; gap:.6rem; align-items:stretch; }
  .btns .btnx, .hx-btns .btnx, .pg-hero-acts .pg-btn{ flex:1 1 0; width:auto; min-width:0; justify-content:center; text-align:center; min-height:52px; padding:.7rem .55rem; gap:.4rem; font-size:.84rem; line-height:1.2; white-space:normal; }
  /* tap targets of at least ~40px */
  .ft a, .ft-legal a, .pg-more, .pg-crumb a{ display:inline-flex; align-items:center; min-height:40px; }
  .ft-dir{ min-height:40px; }
  .pg-crumb{ padding:.2rem 1rem; }
  /* nothing smaller than 12px */
  small{ font-size:max(11.5px,.72rem) !important; }
  .pp-card small{ font-size:.75rem; }
  /* long email / words must not break mid-word on narrow cards */
  .cm-tile b{ font-size:.9rem; overflow-wrap:anywhere; word-break:normal; }
  /* global presence: short labels on the small map */
  .gp-full{ display:none; }
}
.pg-art .badge.glass b{ color:#1b1f2a !important; -webkit-text-fill-color:#1b1f2a !important; }

/* phones: hero info chips (Services, About, Contact...) become one compact row side by side */
@media (max-width:575px){
  div.pg-chips{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:.5rem; margin-top:1.4rem; }
  .pg-chips .pg-chip{ min-width:0; overflow-wrap:anywhere; flex-direction:column; justify-content:flex-start; text-align:center; gap:.4rem; padding:.7rem .35rem; border-radius:18px; font-size:.72rem; line-height:1.25; }
  .pg-chips .pg-chip i{ width:30px; height:30px; font-size:.75rem; }
  .pg-chips .pg-chip b{ font-size:.95rem; display:block; }
}

