/* Subtle interaction layer; content stays readable without JavaScript. */
html { scroll-padding-top: 96px; }
.smile-site .smile-header { background:rgba(251,253,255,.9); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transition:box-shadow .25s ease; }
.smile-site .smile-header.fx-scrolled { box-shadow:0 5px 24px #17365d12; }
.smile-header::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:linear-gradient(90deg,#246db3,#70c9e9); transform:scaleX(var(--reading-progress,0)); transform-origin:left; pointer-events:none; }
.smile-site :is(.smile-service,.vendor-card,.project-card,.smile-channel,.smile-search-panel,.vendor-featured-link) { transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease; }
.smile-site :is(.smile-button,.smile-header-contact,.software-download,.smile-copy-contact,.smile-work-arrow,.smile-footer-social a) { transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease; }
.smile-site :is(.smile-text-link,.smile-button,.vendor-featured-link) i { transition:transform .2s ease; }
.smile-site :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { transition:border-color .2s ease,box-shadow .2s ease; }
.smile-site :is(input,textarea,select):focus-visible { border-color:#5797ce; box-shadow:0 0 0 4px #246db314; }
.smile-site .smile-bottom-nav { background:rgba(255,255,255,.92); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.smile-site .smile-bottom-nav a { transition:background-color .2s ease,color .2s ease; }
.smile-site .smile-bottom-nav i { transition:transform .2s ease; }
.smile-site :is(.smile-button,.smile-header-contact,.software-download,.smile-copy-contact):active { transform:scale(.97); }
.smile-site .smile-bottom-nav a:active i { transform:scale(.88); }
.smile-site .smile-cta { background:radial-gradient(ellipse at top right,#ffffffb0,transparent 65%),linear-gradient(135deg,#dceeff,#d0e8fb); box-shadow:inset 0 1px 0 #fff,0 12px 30px #17365d08; }
.smile-site .fx-back-top { position:fixed; bottom:calc(94px + env(safe-area-inset-bottom)); right:max(16px,calc((100vw - 480px)/2 + 16px)); width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid #c9dff1; border-radius:15px; background:#fbfdfff5; color:#246db3; box-shadow:0 5px 20px #17365d1a; z-index:99; transition:transform .2s ease,background-color .2s ease; }
.smile-site .fx-back-top[hidden] { display:none; }
@media(hover:hover) and (pointer:fine) {
 .smile-site :is(.smile-service,.vendor-card,.project-card,.smile-channel,.smile-search-panel,.vendor-featured-link):hover { transform:translateY(-3px); border-color:#a8cbe8; box-shadow:0 10px 25px #17365d10; }
 .smile-site :is(.smile-button,.smile-header-contact,.software-download,.smile-work-arrow,.smile-footer-social a):hover { transform:translateY(-2px); box-shadow:0 6px 16px #17365d19; }
 .smile-site :is(.smile-text-link,.smile-button,.vendor-featured-link):hover i { transform:translate(2px,-1px); }
 .smile-site .smile-bottom-nav a:hover { background:#edf5fc; color:#246db3; }
 .smile-site .smile-bottom-nav a:hover i { transform:translateY(-2px); }
 .smile-site .fx-back-top:hover { transform:translateY(-3px); background:#e9f4ff; }
}
@media(prefers-reduced-motion:reduce) {
 .smile-site *, .smile-site *::before,.smile-site *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
 .smile-site :is(.smile-service,.vendor-card,.project-card,.smile-channel,.smile-search-panel,.vendor-featured-link,.smile-button,.smile-header-contact,.software-download,.smile-work-arrow,.smile-footer-social a,.smile-bottom-nav i,.fx-back-top):is(:hover,:active) { transform:none; }
}
