/* R45: readable reflection, compact mobile masthead and aligned footer. */
.header-logo-reflection{animation:r45-gold-sweep 14s ease-in-out .6s infinite both}
.header-logo-waves{animation:r45-wave-warm 14s ease-in-out .6s infinite both}
@keyframes r45-gold-sweep{0%{opacity:0;transform:translateX(0)}2%{opacity:1}19%{opacity:1;transform:translateX(1700px)}20%,100%{opacity:0;transform:translateX(1700px)}}
@keyframes r45-wave-warm{0%,22%,40%,100%{fill:var(--text)}27%,31%{fill:var(--hover)}}
html[data-theme] .footer-r39 .footer-legal{width:100%;max-width:none;justify-content:center;text-align:center;margin-inline:auto}
@media(max-width:900px){
 html[data-theme] .home-page .hero{position:relative;display:flex;justify-content:center;min-height:0;height:clamp(400px,64vw,560px);padding:0;isolation:isolate}
 html[data-theme] .home-page .hero-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-1}
 html[data-theme] .home-page .hero-media video{width:100%;height:100%;object-fit:cover;object-position:center}
 html[data-theme] .home-page .hero-media:after{background:linear-gradient(180deg,color-mix(in srgb,var(--merlot) 39.61%,transparent) 0%,color-mix(in srgb,var(--merlot) 18.82%,transparent) 36%,transparent 65%,color-mix(in srgb,var(--merlot) 33.33%,transparent) 100%)}
 html[data-theme] .home-page .hero-media:before{background:linear-gradient(color-mix(in srgb,var(--merlot) 50.20%,transparent),transparent)}
 html[data-theme] .home-page .hero-content{position:relative;width:calc(100% - 2.5rem);height:100%;padding:100px 0 35px;display:flex;flex-direction:column;align-items:flex-start}
 html[data-theme] .home-page .hero h1{font-size:clamp(1.8rem,6.7vw,3.5rem)!important;line-height:1.12;letter-spacing:-.03em;color:var(--ivory)!important;margin:0;text-shadow:0 2px 18px color-mix(in srgb,var(--merlot) 50.20%,transparent)}
 html[data-theme] .home-page .hero .lead{font-size:.74rem;line-height:1.5;color:var(--ivory);margin:.8rem 0;max-width:230px;text-shadow:0 1px 8px var(--merlot)}
 .home-page .hero-buttons{margin-top:auto}.home-page .hero-buttons .btn{font-size:.67rem;padding:.8rem 1.15rem;min-height:40px}
 html[data-theme] .home-page .hero-note{font-size:.5rem;bottom:8px;right:12px;background:color-mix(in srgb,var(--merlot) 53.33%,transparent);color:var(--ivory)}
}
@media(max-width:720px){
 html[data-theme] .site-header,html[data-theme] .site-header.compact{min-height:70px;padding:.65rem 1rem}
 html[data-theme] .logo-wrap .header-logo{width:clamp(155px,45vw,190px)}
 html[data-theme] .footer-r39 .footer-r39-brand{width:100%;justify-self:center;align-items:center;text-align:center;margin-inline:auto}
 html[data-theme] .footer-r39 .footer-brand{margin-inline:auto;align-self:center}
 html[data-theme] .footer-r39 .footer-script{width:100%;text-align:center;margin-inline:auto}
 html[data-theme] .footer-r39 .footer-social{width:100%;justify-content:center}
 html[data-theme] .footer-r39 .footer-legal{flex-direction:column;align-items:center;gap:.75rem;max-width:none}
 .footer-legal>span{flex-basis:auto}
}
@media(prefers-reduced-motion:reduce){.header-logo-reflection{animation:none;opacity:0}.header-logo-waves{animation:none;fill:var(--text)}}
