/* Mobile polish pass. Loads last. Tap sizes, type floors, safe areas, phone layout. */

/* type floor: nothing under 11px */
.gsec .idx,#wall .idx,#contact .cmeta,.followlabel,#contact legend,#contact form .flab,#frames .fcount .cnum,#frames .sighud .of,.profile-copy dt,#pfull .pclose,.preview-label,#print .printmeta{font-size:11px}
.preview-tv span{font-size:10px;padding:7px 2px 2px}
#socialstack .followbar a .hnd,.hnd{font-size:12px}
#socialstack .followlabel,.followlabel.label{font-size:11px!important}
#tour .ch{font-size:10px}
#contact .err{color:#E2573A}

/* tap targets */
.profile-copy>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0 12px}
#pause-tape-preview{font-size:12px;min-height:44px;padding:12px 0;color:#c4c4bd}
#contact form .fld input:focus,#contact form .fld textarea:focus{outline:2px solid var(--text);outline-offset:4px}
#dghero .frame .replay:focus-visible{opacity:1}

/* lightbox clear of notch and home bar */
#pfull .pclose{top:max(20px,env(safe-area-inset-top))}
#pfull .pmeta{bottom:max(22px,env(safe-area-inset-bottom))}

/* film overlays: Dominate. must fit */
.ov .big{font-size:clamp(56px,14vw,190px);line-height:.95}

/* tour bar off the home indicator */
#tour{bottom:calc(26px + env(safe-area-inset-bottom))}

@media(max-width:820px){
  .ov .big{font-size:clamp(56px,19vw,110px)}
  #tour{bottom:calc(18px + env(safe-area-inset-bottom))}
  .gsec .idx{top:84px}
  #wall .idx{top:84px}
  #frames .fhead{padding:124px 6vw 24px}
  #sigwrap{height:320svh}
  #frames .sighud .of::after{content:"  ·  tap to open";letter-spacing:.1em}
  .preview-rig{transform:none;grid-template-columns:repeat(3,1fr)}
  .preview-tv:nth-child(n+7){display:none}
  #socialstack .srow{scroll-snap-type:x proximity;scroll-padding-left:6vw;-webkit-overflow-scrolling:touch}
  #socialstack .scard{scroll-snap-align:start}
  #contact .cgrid{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  #contact .portrait img{object-position:50% 4%}
  #contact .mine{top:-0.42em;right:-0.15em}
  #print .printwrap{padding:0}
  #print .printframe{border-left:0;border-right:0}
  #print .printsound{position:static;display:block;width:calc(100% - 12vw);margin:14px 6vw 0;text-align:center}
  #print .printmeta{padding:0 6vw;line-height:1.8;white-space:normal}
  /* sketch hero */
  #dghero .frame{aspect-ratio:auto;height:min(58svh,124vw);max-height:none;width:calc(100% + var(--gutter)*2);margin:0 calc(var(--gutter) * -1);justify-self:stretch;align-self:start}
  #dghero .frame video,#dghero .frame img{object-position:50% 22%}
  #dghero .mast{margin-top:-.28em}
  #dghero .frame .replay{top:12px;bottom:auto;right:12px}
  #dghero .vitals{margin-bottom:10px}
  #dghero .vitals .eyebrow{font-size:.6875rem;letter-spacing:.12em;white-space:nowrap;margin-bottom:.8em}
  #dghero .vitals dl{gap:.2em .8em;font-size:.8125rem}
  #dghero .vitals dd{gap:.8em}
  #dghero .link{font-size:.75rem;letter-spacing:.1em;white-space:nowrap}
  #dghero .under .cap{display:none}
  #dghero .under{margin-top:0;padding:1em 0 1.2em}
  #dghero .side{padding-top:10px}
}
@media(max-width:700px){
  .polished-nav .nav-links a,.polished-nav .nav-links a:first-child{display:flex;align-items:center;min-height:44px;padding:0 8px;font-size:11px}
  .polished-nav .nav-action,.polished-nav>a:last-child{min-height:44px;padding:0 10px;font-size:11px}
  .polished-nav .brand-link{width:44px;min-height:44px;justify-content:center}
  .room-nav button,.view-controls button,#sound{min-height:44px}
}
@media(max-width:420px){
  #contact .chip{font-size:11px;padding:11px 14px}
}
html.lock,html.lock body{overflow:hidden;touch-action:none;overscroll-behavior:none}
#dgloader{height:100dvh}
