/* V14: progressive visual refinements; no booking or data logic changed. */
:root{--v14-gold:#f1cf8a;--v14-surface:#111216;--v14-stroke:rgba(241,207,138,.24)}
html{scroll-padding-top:6.25rem}body{overflow-wrap:break-word}
.v14-skip-link{position:fixed;left:1rem;top:-6rem;z-index:99999;background:#f1cf8a;color:#111;padding:.8rem 1.2rem;border-radius:.7rem;font-weight:800}
.v14-skip-link:focus{top:1rem}
::selection{background:#e7c17b;color:#101014}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ffdc91!important;outline-offset:3px!important}
:where(.service-card,.case-card,.contact-card,.function-card){contain:layout style}
:where(.service-card,.case-card,.contact-card,.function-card):focus-within{border-color:var(--v14-gold)!important}
:where(.btn,button){transition:filter .2s ease,transform .2s ease,box-shadow .2s ease}
:where(.btn,button):not(:disabled):active{transform:translateY(1px)}
:where(input,select,textarea){min-height:44px}
:where(img,video){max-width:100%}
@media(max-width:760px){:where(.btn,button,a.btn){min-height:44px} .section-head h2{text-wrap:balance} .hero h1{max-width:18ch}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
