html{scroll-behavior:smooth}body{margin:0;background:#FFFFFF}
a{color:#B8132C}a:hover{color:#8E0E21}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
.mq{animation:mq 45s linear infinite}
.mqw:hover .mq{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.mq{animation:none}.mqw{overflow-x:auto !important}}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes settle{from{opacity:0;transform:rotate(7deg) scale(.86)}to{opacity:1;transform:rotate(-5deg) scale(1)}}
@keyframes pop{from{opacity:0;transform:scale(.6) rotate(-25deg)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(140,230,168,.55)}100%{box-shadow:0 0 0 9px rgba(140,230,168,0)}}
@keyframes hdr{to{box-shadow:0 6px 22px rgba(32,26,27,.12)}}
@keyframes hdrpad{to{padding-top:6px;padding-bottom:6px}}
@keyframes logo{to{height:48px}}
.in{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.18s}.d3{animation-delay:.28s}.d4{animation-delay:.38s}
.neon{animation:settle .9s .95s cubic-bezier(.2,.9,.3,1.25) both}
.badge{animation:pop .6s 1.35s cubic-bezier(.2,.9,.3,1.3) both}
.spin{animation:spin 28s linear infinite;transform-origin:64px 64px}
.dot{display:inline-block;width:9px;height:9px;border-radius:999px}
.pulse{animation:pulse 1.8s ease-out infinite}
.btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(32,26,27,.2);filter:brightness(1.06)}
.btn:active{transform:translateY(0);box-shadow:none}
.arr{display:inline-block;transition:transform .25s ease}
a:hover .arr{transform:translateX(5px)}
.ph{overflow:hidden}
.ph img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .ph img{transform:scale(1.05)}
.hdr{position:sticky;top:0;z-index:20}
@supports (animation-timeline: view()){
.rv{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 38%}
.rv2{animation-range:entry 7% entry 45%}.rv3{animation-range:entry 14% entry 52%}.rv4{animation-range:entry 21% entry 59%}.rv5{animation-range:entry 28% entry 66%}
.hdr{animation:hdr linear both;animation-timeline:scroll(root);animation-range:0px 240px}
.hdr-in{animation:hdrpad linear both;animation-timeline:scroll(root);animation-range:0px 240px}
.logo{animation:logo linear both;animation-timeline:scroll(root);animation-range:0px 240px}
}
@media (prefers-reduced-motion: reduce){.in,.neon,.badge,.spin,.pulse,.rv,.hdr,.hdr-in,.logo{animation:none !important}.btn,.arr,.ph img{transition:none}.mq{animation:none !important}}
@keyframes ig{from{transform:translateX(calc(-50% - 8px))}to{transform:translateX(0)}}
.ig{animation:ig 70s linear infinite}
.mqw:hover .ig{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.ig{animation:none !important}}
@media (max-width: 720px){.gal4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

/* small screens */
@media (max-width: 640px){
header nav{gap:0 18px !important;font-size:15.5px !important}
header nav a{padding:8px 0 !important}
header nav a.btn{min-height:40px !important;padding:0 18px !important;margin:4px 0}
.hdr-in{padding:12px 20px !important}
}
/* pricing tables: fit a phone screen without sideways scrolling */
@media (max-width: 640px){
table[style*="min-width: 520px"]{min-width:0 !important;font-size:15.5px !important}
table[style*="min-width: 520px"] th{padding:10px 10px 10px 0 !important;font-size:11px !important;letter-spacing:.05em !important;vertical-align:bottom}
table[style*="min-width: 520px"] td{padding:13px 10px 13px 0 !important}
table[style*="min-width: 520px"] th:last-child,table[style*="min-width: 520px"] td:last-child{padding-right:0 !important}
}
/* pricing photo groups (6 photos each): always an even grid */
div[style*="minmax(min(150px, 100%), 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
@media (min-width: 600px){div[style*="minmax(min(150px, 100%), 1fr)"]{grid-template-columns:repeat(3,1fr) !important}}
@media (min-width: 1000px){div[style*="minmax(min(150px, 100%), 1fr)"]{grid-template-columns:repeat(6,1fr) !important}}
