/* Homepage only. Motion vocabulary adapted from About's existing light effects. */
.home-refresh{position:relative;isolation:isolate;padding-bottom:56px;overflow:hidden}
.home-refresh>.wrap{position:relative;z-index:1}
.home-refresh .hero-grid{grid-template-columns:minmax(0,1fr) 270px;gap:48px;min-height:0;align-items:center}
.home-refresh .hero-copy{padding:24px 0 30px}
.home-refresh h1{font-size:clamp(3rem,5.3vw,4.8rem);max-width:820px;margin:16px 0 22px}
.home-refresh .hero-lede{max-width:680px}
.home-refresh .hero-proof{margin-top:25px;gap:22px}
.home-refresh .hero-media{width:270px;min-height:340px;height:340px;border-radius:24px}
.home-refresh .hero-media img{width:100%;object-position:center 22%;animation:none}
.home-refresh .hero-label{left:18px;right:18px;bottom:20px}
.home-refresh .hero-label strong{font-size:1.05rem;line-height:1.3}
.home-refresh .hero-label .icon-btn{display:none}
.room-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:10px 0 30px}
.room-card{position:relative;isolation:isolate;margin:0;border-radius:22px;overflow:hidden;background:#183d31;border:1px solid #ad7a1c44;box-shadow:0 12px 32px #203a2410}
.room-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.room-card figcaption{display:flex;gap:13px;align-items:center;padding:14px 18px;color:#fcf8ed;font-family:Iowan Old Style,Baskerville,serif;font-size:23px;line-height:1.2}
.room-card figcaption span{font-family:Inter,sans-serif;color:#dec58d;font-size:9px;letter-spacing:.12em}
.home-edge{position:absolute;inset:0;z-index:2;pointer-events:none;fill:none;overflow:visible}
.home-edge rect{stroke:#f3d99c;stroke-width:1.5;stroke-dasharray:8 92;animation:home-edge-trace 12s linear infinite;filter:drop-shadow(0 0 4px #f1d58b)}
.room-card:nth-child(2) .home-edge rect{animation-delay:-4s}.room-card:nth-child(3) .home-edge rect{animation-delay:-8s}
.home-light{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.home-light svg{position:absolute;inset:0;width:100%;height:100%}
.home-ribbons{fill:none;stroke:url(#home-gold);stroke-width:1;opacity:.24;transform-origin:center;animation:home-ribbon-drift 22s ease-in-out infinite alternate}
.home-beam{stroke:#b7923d;stroke-width:1.5;stroke-dasharray:3 97;animation:home-edge-trace 14s linear infinite}
.home-spark{position:absolute;width:3px;height:3px;background:#b7923d;border-radius:50%;box-shadow:0 0 12px #d3af57;animation:home-sparkle 6s ease-in-out infinite}
.home-spark:after{content:"";position:absolute;inset:-4px;background:linear-gradient(90deg,transparent,#b7923d99,transparent);transform:scaleY(.12)}
.home-light .s1{top:9%;left:4%}.home-light .s2{top:20%;left:62%;animation-delay:-2s}.home-light .s3{top:52%;right:2%;animation-delay:-4s}.home-light .s4{bottom:10%;left:30%;animation-delay:-1s}
.home-motion{position:fixed;left:16px;bottom:18px;z-index:960;background:#fffdf4f5;color:#344e3e;border:1px solid #b9b7a2;border-radius:30px;padding:11px 15px;font-size:11px;min-height:44px;box-shadow:0 4px 18px #14241b11;cursor:pointer}
.home-motion[hidden]{display:none}.home-motion:focus-visible{outline:3px solid #b7923d;outline-offset:4px}
html.home-paused *,html.home-paused *:before,html.home-paused *:after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}
html.home-paused .home-reveal{opacity:1!important;transform:none!important}
.home-reveal{opacity:1}.home-motion-ready .home-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.home-motion-ready .home-reveal.is-visible{opacity:1;transform:none}
@keyframes home-edge-trace{to{stroke-dashoffset:-100}}@keyframes home-ribbon-drift{from{transform:translateY(-20px) rotate(-3deg)}to{transform:translateY(24px) rotate(3deg)}}@keyframes home-sparkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.75;transform:scale(1.3)}}
@media(max-width:1000px){.home-refresh .hero-grid{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.home-refresh .hero-media{width:210px;height:300px;min-height:300px}.home-refresh h1{font-size:clamp(2.8rem,5.8vw,4rem)}.home-refresh .hero-proof{gap:15px}.room-gallery{gap:14px}}
@media(max-width:640px){.home-refresh{padding-top:12px;padding-bottom:36px}.home-refresh .hero-grid{display:flex;flex-direction:column;gap:14px;align-items:stretch}.home-refresh .hero-copy{padding:18px 0 0}.home-refresh h1{font-size:clamp(2.5rem,10vw,3.65rem)}.home-refresh .hero-media{order:2;width:100%;height:160px;min-height:160px;margin-top:6px}.home-refresh .hero-media img{width:140px;object-position:center 24%}.home-refresh .hero-media:after{background:linear-gradient(90deg,transparent 20%,#10372d 44%)}.home-refresh .hero-label{left:45%;right:16px;top:0;bottom:0;align-items:center}.home-refresh .hero-label strong{font-size:1.05rem}.room-gallery{grid-template-columns:1fr;gap:18px;margin-top:24px}.room-card figcaption{font-size:22px;padding:13px 17px}.home-refresh .hero-proof{margin-top:22px}.home-motion{bottom:84px;left:12px;font-size:10px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *,body *:before,body *:after{animation:none!important;transition:none!important}.home-motion-ready .home-reveal{opacity:1;transform:none}.home-spark{opacity:.35}.home-beam{stroke-dasharray:none;opacity:.2}}
