/* U10: 26px visible circle within the existing stable 44px control. */
#app31 #application-close{position:relative;display:grid;place-items:center;box-sizing:border-box;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;line-height:1;transform:none}
#app31 #application-close::before{content:'';position:absolute;inset:9px;border:1px solid #65785138;border-radius:50%;background:#e7e2d260;transition:background .2s,border-color .2s;pointer-events:none}
#app31 #application-close>svg{position:relative;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .32s cubic-bezier(.2,.7,.2,1);pointer-events:none}
#app31 #application-close:hover{border:0;background:transparent;transform:none}
#app31 #application-close:hover::before{background:#d9dfcc;border-color:#788c67}
#app31 #application-close:hover>svg{transform:rotate(90deg)}
#app31 #application-close:focus-visible{outline:2px solid #657d4d;outline-offset:-3px}

/* U07: a quiet 44px utility control, below the native modal and header menu. */
#app31 #back-to-top{position:fixed;right:clamp(12px,1.5vw,28px);bottom:max(16px,env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #6174514d;border-radius:50%;background:#f1eddfed;color:#344d31;box-shadow:0 4px 18px #0d271a1a;backdrop-filter:blur(10px);cursor:pointer;animation:back-top-enter .22s cubic-bezier(.2,.7,.2,1);transition:background .2s,border-color .2s}
#app31 #back-to-top[hidden]{display:none!important}
#app31 #back-to-top>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
#app31 #back-to-top:hover{background:#e2e8d7;border-color:#61745199}
#app31 #back-to-top:hover>svg{transform:translateY(-2px)}
#app31 #back-to-top:focus-visible{outline:2px solid #6c8556;outline-offset:3px}
#app31 #back-to-top:active>svg{transform:translateY(0)}
@keyframes back-top-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){#app31 #contact{padding-bottom:76px}}
@media(prefers-reduced-motion:reduce){
 #app31 #application-close>svg,#app31 #back-to-top,#app31 #back-to-top>svg{animation:none;transition:none}
 #app31 #application-close:hover>svg,#app31 #back-to-top:hover>svg{transform:none}
}
