/* Homepage entry prompt (phones and tablets): a play ring above the paperwork; swipe remains a normal vertical scroll gesture. */
.experience-entry[hidden] { display:none; }
.experience-entry { display:none; }
@media (max-width:800px), (hover:none) {
  .experience-entry:not([hidden]) {
    position:fixed; inset:0; z-index:35; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
    padding:calc(96px + env(safe-area-inset-top)) 20px 0; pointer-events:none; touch-action:pan-y;
  }
  .experience-entry-card {
    display:flex; flex-direction:column; align-items:center; gap:0; text-align:center;
    pointer-events:auto; touch-action:pan-y; -webkit-tap-highlight-color:transparent;
  }
  .xe-play {
    position:relative; width:68px; height:68px; margin:0; padding:0; border-radius:50%; cursor:pointer;
    border:1px solid rgba(120,182,255,.72);
    background:radial-gradient(circle at 50% 38%, rgba(20,125,255,.30), rgba(20,125,255,.06) 72%);
    box-shadow:0 0 0 6px rgba(0,0,0,.35), 0 18px 40px rgba(0,0,0,.6), 0 0 34px rgba(20,125,255,.28);
    display:grid; place-items:center; -webkit-tap-highlight-color:transparent;
  }
  .xe-play i {
    width:0; height:0; margin-left:5px;
    border-left:16px solid #F4F7FA; border-top:10px solid transparent; border-bottom:10px solid transparent;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));
  }
  .xe-play::before, .xe-play::after {
    content:""; position:absolute; inset:-1px; border-radius:50%; border:1px solid rgba(120,182,255,.55);
    animation:xe-ring 3s cubic-bezier(.2,.7,.2,1) infinite; pointer-events:none;
  }
  .xe-play::after { animation-delay:1.5s; }
  .xe-play:active { transform:scale(.96); }
  .experience-entry .xe-l {
    margin:18px 0 0; font:500 11px/1.4 Inter, sans-serif; letter-spacing:.26em; text-transform:uppercase; color:#F4F7FA;
    text-shadow:0 1px 12px rgba(0,0,0,.8);
  }
  .experience-entry .xe-s {
    margin:7px 0 0; font:400 12px/1.5 Inter, sans-serif; letter-spacing:.02em; color:#8A95A5; text-wrap:balance;
    text-shadow:0 1px 10px rgba(0,0,0,.8);
  }
  html.ap .experience-entry { display:none; }
}
@keyframes xe-ring { 0% { transform:scale(1); opacity:.75; } 100% { transform:scale(1.95); opacity:0; } }
@media (prefers-reduced-motion:reduce) { .xe-play::before, .xe-play::after { animation:none; display:none; } }
#sig .sig-name { width:max-content; max-width:none; }

/* Keep the supporting line clear of the description at desktop widths too. */
@media (min-width:801px) {
  .hero h1 .l2 { font-size:.66em; letter-spacing:-.015em; }
}
@media (min-width:801px) and (max-width:1100px) {
  .hero h1 { font-size:clamp(44px,6vw,74px); }
  .hero .cue .hs { max-width:28ch; font-size:15px; }
}
