/* Shared public-page polish. Case geometry and configurator canvases are excluded. */
.site-refined{--sj-blue:#1248c8;--sj-ink:#15243a;--sj-gold:#c79d70}
.site-skip-link{position:fixed;inset-block-start:8px;inset-inline-start:16px;z-index:100000;padding:12px 18px;background:#fff;color:#1248c8;border:2px solid currentColor;transform:translateY(-160%);font-weight:600}
.site-skip-link:focus{transform:none}
.site-refined :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #346de5;outline-offset:4px}
.site-refined :is(.geo-section,.home-module,.home-resources){scroll-margin-top:88px}
.site-refined :is(.geo-hero,.geo-section,.contact-container) p{line-height:1.8;text-wrap:pretty}
.site-refined .geo-hero h1{letter-spacing:-.025em;line-height:1.18;text-wrap:balance}
.site-refined .geo-card{border-color:#dce3ec;box-shadow:0 5px 22px #14243a05}
.site-refined :is(.home-product-card,.home-project-card,.geo-card) img{transition:filter .3s ease;max-width:100%}
.site-refined :is(.home-product-card,.home-project-card,.geo-card,.home-factory-photo) img{display:block}
.site-refined :is(.home-project-card,.home-factory-photo,.geo-card) img{border-radius:5px}
.site-refined :is(.btn-primary,.btn-secondary,.geo-button){transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.site-refined .carousel-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;cursor:pointer;border-radius:50%}
.site-refined .carousel-dot:before{content:'';width:8px;height:8px;border-radius:50%;background:#bdc6d0;transition:background .2s,transform .2s}
.site-refined .carousel-dot.active{background:transparent;transform:none}
.site-refined .carousel-dot.active:before{background:#c79d70;transform:scale(1.25)}
.site-refined .carousel-dots{gap:0;row-gap:0}
.site-refined .carousel-stage:focus-visible{outline-offset:-4px;border-radius:8px}
.site-refined .case-card:focus-visible{outline-offset:3px}
.site-refined .card-overlay{overscroll-behavior:contain}
.site-refined .card-overlay [role=button]:focus-visible{outline-offset:3px}
/* About-page product selection uses a centered grid rather than the former review rail. */
.site-refined .product-selection-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:1000px;margin-inline:auto;height:auto;max-height:calc(100dvh - 250px);overflow-x:hidden;overflow-y:auto;padding:6px 4px 12px;scrollbar-width:thin}
.site-refined .product-selection-track .review-card{width:auto;height:auto;min-width:0;min-height:184px;padding:22px;box-sizing:border-box}
.site-refined .product-selection-track .review-name{font-size:16px;line-height:1.4;margin:0 0 10px}
.site-refined .product-selection-track .review-text{display:block;overflow:visible;font-size:14px;line-height:1.7;margin:0 0 18px;-webkit-line-clamp:unset}
.site-refined .product-selection-track a{display:inline-flex;align-items:center;align-self:flex-start;min-height:40px;margin-top:auto;color:#1248c8;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5;padding:9px 13px;border:1px solid #b8c9ee;border-radius:4px;transition:background-color .2s,color .2s}
.site-refined .product-selection-track a:hover{background:#1248c8;color:#fff}
.site-refined .product-selection-track a:visited{color:#1248c8}
.site-refined .product-selection-track a:visited:hover{color:#fff}
@media(max-width:560px){.site-refined .product-selection-track{grid-template-columns:1fr;gap:12px;max-height:calc(100dvh - 235px)}.site-refined .product-selection-track .review-card{min-height:0;padding:18px}.site-refined .product-selection-track .review-name{font-size:15px}}
.site-refined .anim-item{animation-duration:.35s;animation-delay:0s}
/* Product selection facts and buying checklist retain stable alignment on hover. */
.site-refined.product-detail-page .pool-cover-stat-spread .ss-num{font-size:clamp(18px,2.2vw,28px);line-height:1.3;white-space:normal;overflow-wrap:anywhere;min-height:2.6em;display:flex;align-items:center;justify-content:center}
.site-refined.product-detail-page .pool-cover-stat-spread .ss-label{letter-spacing:0;line-height:1.5;overflow-wrap:anywhere}
.site-refined #kitchen-procurement .section-title{font-size:clamp(28px,3.5vw,44px);line-height:1.3}
.site-refined #kitchen-procurement .procurement-steps{margin-top:28px;align-items:stretch;grid-auto-rows:1fr}
.site-refined #kitchen-procurement .fcard{padding:26px 28px;border:1px solid #dce3ec;display:flex;flex-direction:column;min-width:0;transition:border-color .25s,box-shadow .25s}
.site-refined #kitchen-procurement .fcard:hover{transform:none;border-color:#c4a87a;box-shadow:0 8px 24px #15243a0a}
.site-refined #kitchen-procurement .fcard-num{align-self:flex-start;margin-bottom:14px;font-size:12px;color:#8b7a5e;letter-spacing:1px}
.site-refined #kitchen-procurement .fcard-desc{font-size:14px;line-height:1.8;margin:0}
.site-refined #kitchen-procurement .procurement-footer{margin-top:26px;padding:24px 28px;border-left:3px solid #c4a87a;border-radius:6px;background:#fff}
.site-refined #kitchen-procurement .procurement-footer .section-desc{max-width:none;margin:0;font-size:15px;line-height:1.8}
.site-refined #kitchen-procurement .procurement-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.site-refined #kitchen-procurement .procurement-actions a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:12px 22px;border:1px solid #c4a87a;border-radius:4px;text-decoration:none;font-size:14px;font-weight:600;line-height:1.5;max-width:100%;text-align:center}
.site-refined #kitchen-procurement .procurement-guide{color:#1248c8;background:#fff;border-color:#b8c9ee!important;transition:background-color .25s}
.site-refined #kitchen-procurement .procurement-guide:hover{background:#f0f5ff}
@media(max-width:560px){.site-refined #kitchen-procurement .fcard,.site-refined #kitchen-procurement .procurement-footer{padding:20px}.site-refined #kitchen-procurement .procurement-actions a{width:100%}}
@media(max-width:768px){.site-refined #kitchen-procurement .procurement-steps{grid-auto-rows:auto}}
.site-refined .anim-item:not(.anim-out){opacity:1}
.site-refined.video-watch-page .video-watch-actions{min-width:0}
.site-refined.video-watch-page .video-watch-actions a{overflow-wrap:anywhere}
.site-refined.video-watch-page .video-watch-nav .logo{position:static;left:auto;right:auto;transform:none}
@media(max-width:1100px){.site-refined.video-watch-page .video-watch-nav{justify-content:flex-start;gap:14px}.site-refined.video-watch-page .video-watch-nav .mobile-menu-btn{position:static;transform:none;flex-shrink:0}.site-refined.video-watch-page .video-watch-nav .logo{margin-inline-end:auto}.site-refined.video-watch-page .video-watch-actions{max-width:40%;text-align:end}.site-refined.video-watch-page .video-watch-actions a{font-size:12px}}
@media(max-width:500px){.site-refined.video-watch-page .video-watch-nav{gap:10px}.site-refined.video-watch-page .video-watch-nav .logo img{width:100px}.site-refined.video-watch-page .video-watch-actions{max-width:150px}.site-refined.video-watch-page .video-watch-title{font-size:32px;letter-spacing:-.5px;overflow-wrap:anywhere}}
@media(hover:hover) and (pointer:fine){
 .site-refined :is(.home-product-card,.geo-card):hover{transform:translateY(-3px);box-shadow:0 10px 26px #16294112}
 .site-refined :is(.home-product-card,.home-project-card):hover img{filter:brightness(1.04)}
 .site-refined :is(.btn-primary,.btn-secondary,.geo-button):hover{transform:translateY(-2px);box-shadow:0 7px 18px #17243a1c}
}
@media(max-width:700px){.site-refined .geo-hero h1{overflow-wrap:anywhere}.site-refined .geo-card{min-width:0}.site-refined :is(.btn-primary,.btn-secondary,.geo-button){max-width:100%;white-space:normal;text-align:center}.site-refined .carousel-dot{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){
 html:has(.site-refined){scroll-behavior:auto!important}
 .site-refined *, .site-refined *:before, .site-refined *:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .site-refined :is(.home-product-card,.home-project-card,.geo-card,.btn-primary,.btn-secondary,.geo-button):hover{transform:none}
 .site-refined .anim-item{opacity:1!important}
}
