html { scroll-behavior: smooth; }
.local-screen { display: none; }
@media (min-width: 1200px) { .local-desktop { display: contents; } }
@media (min-width: 750px) and (max-width: 1199.98px) { .local-tablet { display: contents; } }
@media (max-width: 749.98px) { .local-mobile { display: contents; } }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 2px solid #777; outline-offset: 5px; }
form[data-local-contact] button[type=submit] { transition: opacity .2s ease; cursor: pointer; }
form[data-local-contact]:valid button[type=submit] { opacity: 1 !important; }
[data-local-hover] { cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.local-form-message { font-size: 14px; color: #7a7a7a; line-height: 1.6; }

/* Keep the outgoing document visible until the incoming page can paint. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 120ms; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}

/* First-paint entrances: CSS starts hidden before any content can flash. */
@keyframes local-enter-opacity {0.0000% {opacity:0}1.3889% {opacity:0.02058589}2.7778% {opacity:0.06855642}4.1667% {opacity:0.12975976}5.5556% {opacity:0.19593376}6.9444% {opacity:0.26235793}8.3333% {opacity:0.32643222}9.7222% {opacity:0.38681772}11.1111% {opacity:0.4429177}12.5000% {opacity:0.49456517}13.8889% {opacity:0.54183519}15.2778% {opacity:0.58493284}16.6667% {opacity:0.62412692}18.0556% {opacity:0.65971112}19.4444% {opacity:0.69198177}20.8333% {opacity:0.72122557}22.2222% {opacity:0.74771322}23.6111% {opacity:0.77169646}25.0000% {opacity:0.79340724}26.3889% {opacity:0.81305794}27.7778% {opacity:0.83084225}29.1667% {opacity:0.84693635}30.5556% {opacity:0.86150023}31.9444% {opacity:0.87467898}33.3333% {opacity:0.88660409}34.7222% {opacity:0.89739468}36.1111% {opacity:0.90715859}37.5000% {opacity:0.91599345}38.8889% {opacity:0.92398763}40.2778% {opacity:0.9312211}41.6667% {opacity:0.93776624}43.0556% {opacity:0.94368854}44.4444% {opacity:0.94904727}45.8333% {opacity:0.95389606}47.2222% {opacity:0.95828342}48.6111% {opacity:0.96225328}50.0000% {opacity:0.96584535}51.3889% {opacity:0.96909559}52.7778% {opacity:0.97203654}54.1667% {opacity:0.97469761}55.5556% {opacity:0.97710545}56.9444% {opacity:0.97928416}58.3333% {opacity:0.98125553}59.7222% {opacity:0.9830393}61.1111% {opacity:0.98465333}62.5000% {opacity:0.98611375}63.8889% {opacity:0.98743521}65.2778% {opacity:0.9886309}66.6667% {opacity:0.98971282}68.0556% {opacity:0.99069177}69.4444% {opacity:0.99157757}70.8333% {opacity:0.99237907}72.2222% {opacity:0.99310429}73.6111% {opacity:0.99376051}75.0000% {opacity:0.99435427}76.3889% {opacity:0.99489154}77.7778% {opacity:0.99537767}79.1667% {opacity:0.99581754}80.5556% {opacity:0.99621556}81.9444% {opacity:0.99657569}83.3333% {opacity:0.99690156}84.7222% {opacity:0.99719642}86.1111% {opacity:0.99746321}87.5000% {opacity:0.99770462}88.8889% {opacity:0.99792305}90.2778% {opacity:0.9981207}91.6667% {opacity:0.99829954}93.0556% {opacity:0.99846136}94.4444% {opacity:0.99860778}95.8333% {opacity:0.99874027}97.2222% {opacity:0.99886015}98.6111% {opacity:0.99896862}100.0000% {opacity:1}}
@keyframes local-enter-scale {0.0000% {transform:scale(0.9)}2.0408% {transform:scale(0.90205859)}4.0816% {transform:scale(0.90685564)}6.1224% {transform:scale(0.91297598)}8.1633% {transform:scale(0.91959338)}10.2041% {transform:scale(0.92623579)}12.2449% {transform:scale(0.93264322)}14.2857% {transform:scale(0.93868177)}16.3265% {transform:scale(0.94429177)}18.3673% {transform:scale(0.94945652)}20.4082% {transform:scale(0.95418352)}22.4490% {transform:scale(0.95849328)}24.4898% {transform:scale(0.96241269)}26.5306% {transform:scale(0.96597111)}28.5714% {transform:scale(0.96919818)}30.6122% {transform:scale(0.97212256)}32.6531% {transform:scale(0.97477132)}34.6939% {transform:scale(0.97716965)}36.7347% {transform:scale(0.97934072)}38.7755% {transform:scale(0.98130579)}40.8163% {transform:scale(0.98308422)}42.8571% {transform:scale(0.98469363)}44.8980% {transform:scale(0.98615002)}46.9388% {transform:scale(0.9874679)}48.9796% {transform:scale(0.98866041)}51.0204% {transform:scale(0.98973947)}53.0612% {transform:scale(0.99071586)}55.1020% {transform:scale(0.99159935)}57.1429% {transform:scale(0.99239876)}59.1837% {transform:scale(0.99312211)}61.2245% {transform:scale(0.99377662)}63.2653% {transform:scale(0.99436885)}65.3061% {transform:scale(0.99490473)}67.3469% {transform:scale(0.99538961)}69.3878% {transform:scale(0.99582834)}71.4286% {transform:scale(0.99622533)}73.4694% {transform:scale(0.99658454)}75.5102% {transform:scale(0.99690956)}77.5510% {transform:scale(0.99720365)}79.5918% {transform:scale(0.99746976)}81.6327% {transform:scale(0.99771055)}83.6735% {transform:scale(0.99792842)}85.7143% {transform:scale(0.99812555)}87.7551% {transform:scale(0.99830393)}89.7959% {transform:scale(0.99846533)}91.8367% {transform:scale(0.99861138)}93.8776% {transform:scale(0.99874352)}95.9184% {transform:scale(0.99886309)}97.9592% {transform:scale(0.99897128)}100.0000% {transform:scale(1)}}
@keyframes local-enter-slide {0.0000% {transform:translateY(20px)}2.0408% {transform:translateY(19.58828215px)}4.0816% {transform:translateY(18.62887162px)}6.1224% {transform:translateY(17.40480472px)}8.1633% {transform:translateY(16.08132473px)}10.2041% {transform:translateY(14.7528415px)}12.2449% {transform:translateY(13.47135556px)}14.2857% {transform:translateY(12.26364568px)}16.3265% {transform:translateY(11.14164591px)}18.3673% {transform:translateY(10.10869651px)}20.4082% {transform:translateY(9.16329629px)}22.4490% {transform:translateY(8.30134324px)}24.4898% {transform:translateY(7.51746154px)}26.5306% {transform:translateY(6.80577763px)}28.5714% {transform:translateY(6.16036469px)}30.6122% {transform:translateY(5.57548858px)}32.6531% {transform:translateY(5.04573564px)}34.6939% {transform:translateY(4.56607076px)}36.7347% {transform:translateY(4.13185516px)}38.7755% {transform:translateY(3.73884122px)}40.8163% {transform:translateY(3.38315508px)}42.8571% {transform:translateY(3.06127302px)}44.8980% {transform:translateY(2.76999545px)}46.9388% {transform:translateY(2.50642044px)}48.9796% {transform:translateY(2.26791811px)}51.0204% {transform:translateY(2.05210633px)}53.0612% {transform:translateY(1.85682815px)}55.1020% {transform:translateY(1.68013096px)}57.1429% {transform:translateY(1.52024741px)}59.1837% {transform:translateY(1.37557798px)}61.2245% {transform:translateY(1.24467518px)}63.2653% {transform:translateY(1.12622913px)}65.3061% {transform:translateY(1.01905454px)}67.3469% {transform:translateY(0.92207884px)}69.3878% {transform:translateY(0.83433154px)}71.4286% {transform:translateY(0.75493446px)}73.4694% {transform:translateY(0.68309299px)}75.5102% {transform:translateY(0.61808812px)}77.5510% {transform:translateY(0.55926927px)}79.5918% {transform:translateY(0.50604777px)}81.6327% {transform:translateY(0.45789096px)}83.6735% {transform:translateY(0.41431688px)}85.7143% {transform:translateY(0.37488942px)}87.7551% {transform:translateY(0.33921397px)}89.7959% {transform:translateY(0.3069335px)}91.8367% {transform:translateY(0.27772491px)}93.8776% {transform:translateY(0.25129589px)}95.9184% {transform:translateY(0.22738193px)}97.9592% {transform:translateY(0.20574368px)}100.0000% {transform:translateY(0px)}}
[data-local-reveal] {
  animation: local-enter-opacity 720ms linear backwards, local-enter-scale 490ms linear backwards;
  animation-delay: var(--local-enter-delay, 0ms);
}
[data-local-enter-transform^="translateY"] {
  animation-name: local-enter-opacity, local-enter-slide;
}
[data-local-scroll-enter] { animation: none; }
/* Offscreen layers stay transparent until their first reveal is installed. */
[data-local-pending] { animation: none !important; opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) {
  [data-local-reveal] { animation: none !important; }
}

/* Match public and protected list footers to the full-width grid. */
[data-local-list-footer] { width: 100%; max-width: none !important; }
