:root{--page-title-display:none;}/* Start custom CSS *//* HM page CSS v1 (Shelter Music Home) */
.elementor-263{--sm-i-wa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M380.9 97.1c-41.9-42-97.7-65.1-157-65.1-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480 117.7 449.1c32.4 17.7 68.9 27 106.1 27l.1 0c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3 18.6-68.1-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1s56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zM325.1 300.5c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8s-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7s-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2s-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3s19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4s4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");--sm-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");--sm-i-note:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l12-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='16' r='3'/%3E%3C/svg%3E");--sm-i-book:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20V3H6.5A2.5 2.5 0 0 0 4 5.5z'/%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 0 6.5 22H20v-5'/%3E%3C/svg%3E");--sm-i-people:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.8-3.5 3.4-5.5 6.5-5.5s5.7 2 6.5 5.5'/%3E%3Ccircle cx='17.5' cy='9' r='2.5'/%3E%3Cpath d='M17 14.5c2.4.2 4 1.8 4.6 4.5'/%3E%3C/svg%3E");--sm-i-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9z'/%3E%3C/svg%3E");--sm-i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");--sm-i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");--sm-i-quote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 44'%3E%3Cpath fill='black' d='M0 44V25C0 10.6 7.4 2.2 22 0l2 6C16 8 12.3 12.4 12 19h10v25zm32 0V25C32 10.6 39.4 2.2 54 0l2 6c-8 2-11.7 6.4-12 13h10v25z'/%3E%3C/svg%3E");}

/* Hero H1: rotator + gradient fallbacks (by position; the kit classes .sm-rot/.sm-rot-track/.sm-grad do the same if Elementor keeps them) */
.elementor-263 #hm-hero-h1 > span:nth-of-type(1){display:inline-block;height:1.12em;overflow:hidden;vertical-align:bottom}
.elementor-263 #hm-hero-h1 > span:nth-of-type(1) > span{display:block;background-image:linear-gradient(90deg,#C6E34A 0%,#8EE0B8 50%,#C6E34A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%;animation-name:sm-shine;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;padding-bottom:.06em;animation-name:sm-rot;animation-duration:12.5s;animation-timing-function:cubic-bezier(.7,0,.2,1);animation-direction:normal;padding-bottom:0}
.elementor-263 #hm-hero-h1 > span:nth-of-type(1) > span > span{display:block;height:1.12em;line-height:1.12em}
.elementor-263 #hm-hero-h1 > span:nth-of-type(2){background-image:linear-gradient(90deg,#C6E34A 0%,#8EE0B8 50%,#C6E34A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%;animation-name:sm-shine;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;padding-bottom:.06em;animation-delay:-3.5s}

/* Accent phrases: gradient fallbacks (sm-grad on dark bands, sm-grad-l on light bands) */
.elementor-263 #hm-why-h2 > span:nth-of-type(1){font-size:clamp(30px,3.4vw,50px);line-height:1.1;color:#C9C6BB}
.elementor-263 #hm-why-h2 > span:nth-of-type(2){font-size:clamp(52px,8.6vw,128px);line-height:.98;letter-spacing:-0.04em;margin-top:8px;background-image:linear-gradient(90deg,#C6E34A 0%,#8EE0B8 50%,#C6E34A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%;animation-name:sm-shine;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;padding-bottom:.06em;}
.elementor-263 #hm-start-h2 > span{background-image:linear-gradient(90deg,#C6E34A 0%,#8EE0B8 50%,#C6E34A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%;animation-name:sm-shine;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;padding-bottom:.06em;}
.elementor-263 #hm-paths-h2 > span,.elementor-263 #hm-rev-h2 > span,.elementor-263 #hm-tr-h2 > span{background-image:linear-gradient(90deg,#4E8A0B 0%,#13806A 50%,#4E8A0B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-size:300% 100%;animation-name:sm-shine;animation-duration:7s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;padding-bottom:.06em;}

/* Hero mosaic: kit keyframes sm-drift-a / sm-drift-b on the four columns */
.elementor-263 #hm-hero-col-1,.elementor-263 #hm-hero-col-2,.elementor-263 #hm-hero-col-3,.elementor-263 #hm-hero-col-4{animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.elementor-263 #hm-hero-col-1{animation-name:sm-drift-a;animation-duration:18s}
.elementor-263 #hm-hero-col-2{animation-name:sm-drift-b;animation-duration:20s}
.elementor-263 #hm-hero-col-3{animation-name:sm-drift-a;animation-duration:22s}
.elementor-263 #hm-hero-col-4{animation-name:sm-drift-b;animation-duration:19s}

/* Icons (CSS masks, currentColor or a literal) */
.elementor-263 #hm-hero-wa::before{content:"";display:block;flex:none;position:static;top:auto;left:auto;opacity:1;border:0;border-radius:0;width:18px;height:18px;background-color:currentColor;-webkit-mask:var(--sm-i-wa) center/contain no-repeat;mask:var(--sm-i-wa) center/contain no-repeat;}
.elementor-263 #hm-br-arrow-1,.elementor-263 #hm-br-arrow-2{background-color:currentColor;-webkit-mask:var(--sm-i-arrow) center/contain no-repeat;mask:var(--sm-i-arrow) center/contain no-repeat;}
.elementor-263 #hm-br-chip-1::before{content:"";display:block;flex:none;position:static;top:auto;left:auto;opacity:1;border:0;border-radius:0;width:8px;height:8px;border-radius:50%;background-color:#BAD532}
.elementor-263 #hm-why-ic-1::before,.elementor-263 #hm-why-ic-2::before,.elementor-263 #hm-why-ic-3::before,.elementor-263 #hm-why-ic-4::before{content:"";display:block;flex:none;position:static;top:auto;left:auto;opacity:1;border:0;border-radius:0;width:22px;height:22px;background-color:#E2DFD4}
.elementor-263 #hm-why-ic-1::before{-webkit-mask:var(--sm-i-note) center/contain no-repeat;mask:var(--sm-i-note) center/contain no-repeat;}
.elementor-263 #hm-why-ic-2::before{-webkit-mask:var(--sm-i-book) center/contain no-repeat;mask:var(--sm-i-book) center/contain no-repeat;}
.elementor-263 #hm-why-ic-3::before{-webkit-mask:var(--sm-i-people) center/contain no-repeat;mask:var(--sm-i-people) center/contain no-repeat;}
.elementor-263 #hm-why-ic-4::before{-webkit-mask:var(--sm-i-star) center/contain no-repeat;mask:var(--sm-i-star) center/contain no-repeat;}
.elementor-263 #hm-rev-qmark{background-color:#4E8A0B;-webkit-mask:var(--sm-i-quote) center/contain no-repeat;mask:var(--sm-i-quote) center/contain no-repeat;}
.elementor-263 #hm-tr-ic-1::before,.elementor-263 #hm-tr-ic-2::before,.elementor-263 #hm-tr-ic-3::before{content:"";display:block;flex:none;position:static;top:auto;left:auto;opacity:1;border:0;border-radius:0;width:20px;height:20px;background-color:#E2DFD4}
.elementor-263 #hm-tr-ic-1::before{-webkit-mask:var(--sm-i-phone) center/contain no-repeat;mask:var(--sm-i-phone) center/contain no-repeat;}
.elementor-263 #hm-tr-ic-2::before{-webkit-mask:var(--sm-i-wa) center/contain no-repeat;mask:var(--sm-i-wa) center/contain no-repeat;}
.elementor-263 #hm-tr-ic-3::before{-webkit-mask:var(--sm-i-mail) center/contain no-repeat;mask:var(--sm-i-mail) center/contain no-repeat;}

/* Stretched links: one link per card, the whole card is the tap target */
.elementor-263 [id^="hm-br-card-"] a,.elementor-263 [id^="hm-crs-card-"] a,.elementor-263 [id^="hm-tr-row-"] a{position:static}
.elementor-263 [id^="hm-br-card-"] a::after,.elementor-263 [id^="hm-crs-card-"] a::after,.elementor-263 [id^="hm-tr-row-"] a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}
.elementor-263 [id^="hm-br-card-"]:has(a:focus-visible),.elementor-263 [id^="hm-crs-card-"]:has(a:focus-visible){outline:2px solid #55620E;outline-offset:3px}
.elementor-263 [id^="hm-br-card-"] a:focus-visible,.elementor-263 [id^="hm-crs-card-"] a:focus-visible{outline:0;box-shadow:none}
.elementor-263 [id^="hm-tr-row-"]:hover a{color:#BAD532}

/* Reviews marquee: two identical runs, -50% loop, pause on hover */
.elementor-263 #hm-rev-track{will-change:transform;animation-name:sm-marq;animation-duration:48s;animation-timing-function:linear;animation-iteration-count:infinite}
.elementor-263 #hm-rev-marq:hover #hm-rev-track,.elementor-263 #hm-rev-marq:focus-within #hm-rev-track{animation-play-state:paused}

/* FAQ (e-accordion renders details/summary): row lines and the +/x sign drawn in CSS */
.elementor-263 #faq details{border-top:1px solid #1214101F;margin:0;padding:0}
.elementor-263 #faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;min-height:44px;cursor:pointer}
.elementor-263 #faq summary::-webkit-details-marker{display:none}
.elementor-263 #faq summary::after{content:"";flex:none;width:16px;height:16px;background:linear-gradient(#55620E,#55620E) center/100% 2px no-repeat,linear-gradient(#55620E,#55620E) center/2px 100% no-repeat;transition-property:transform;transition-duration:.2s}
.elementor-263 #faq details[open] summary::after{transform:rotate(45deg)}
.elementor-263 #faq summary:focus-visible{outline:2px solid #55620E;outline-offset:4px;box-shadow:none}

/* Small inline link reaches a 44px tap height without moving the layout */
.elementor-263 #hm-faq-note a{display:inline-block;padding:12px 0;margin:-12px 0}

@media (prefers-reduced-motion:reduce){
 .elementor-263 [id^="hm-hero-col-"],.elementor-263 #hm-hero-h1 span,.elementor-263 #hm-why-h2 span,.elementor-263 #hm-start-h2 span,.elementor-263 #hm-paths-h2 span,.elementor-263 #hm-rev-h2 span,.elementor-263 #hm-tr-h2 span{animation-name:none!important}
 .elementor-263 #hm-rev-track{animation-name:none!important;transform:none!important}
 .elementor-263 #hm-rev-marq{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scroll-snap-type:x proximity}
 .elementor-263 #hm-rev-run-2{display:none}
 .elementor-263 #faq summary::after{transition-duration:0s}
}
/* end HM page CSS v1 */
/* HM page CSS mobile v1 (767 and down; spec Build/mobile/MOBILE-SPEC.md §8 Home) */
@media (max-width:767px){
 .elementor-263 #hm-why-h2 > span:nth-of-type(1){font-size:23px}
 .elementor-263 #hm-why-h2 > span:nth-of-type(2){font-size:50px}
 .elementor-263 [id^="hm-hero-col-"]{animation-name:none!important}
 .elementor-263 #hm-hero-mosaic{animation-name:sm-mfade;animation-duration:1.1s;animation-timing-function:ease-out;animation-fill-mode:both}
 .elementor-263 #hm-rev-track{animation-name:none;transform:none}
 .elementor-263 #hm-rev-run-2{display:none}
 .elementor-263 [id^="hm-rev-q-1-"]{scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.elementor-263 #hm-hero-mosaic{animation-name:none!important}}
/* end HM page CSS mobile v1 */
/* HM page CSS key tabs v1 (20 Oct 2026: phone hero, design board "L · Key tabs", 767 and down; site JS v2.3 drives it.
   Without JS (no html.sm-ktjs) the first key looks pressed and the Keyboard photo shows.) */
@media (max-width:767px){
 .elementor-263 #hm-kt-ph img{opacity:0;transition-property:opacity;transition-duration:.5s;transition-timing-function:ease}
 html:not(.sm-ktjs) .elementor-263 #hm-kt-img-1,.elementor-263 #hm-kt-ph img.sm-on{opacity:1}
 .elementor-263 #hm-kt-ph::after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;opacity:1;border:0;border-radius:0;z-index:1;pointer-events:none;background-image:linear-gradient(180deg,rgba(18,20,16,0) 50%,rgba(18,20,16,.82) 100%)}
 .elementor-263 #hm-kt-kb button{transition-property:transform,filter;transition-duration:.15s;transition-timing-function:ease}
 html:not(.sm-ktjs) .elementor-263 #hm-kt-k-1,.elementor-263 #hm-kt-kb button[aria-pressed="true"]{color:#121410;transform:translateY(3px);filter:brightness(.9);box-shadow:inset 0 4px 6px rgba(18,20,16,.25),inset 0 -4px 0 #D9D2BF;text-decoration-line:underline;text-decoration-color:#55620E;text-decoration-thickness:2px;text-underline-offset:4px}
 .elementor-263 #hm-kt-kb button:focus-visible{outline:2px solid #F6F3EC;outline-offset:2px}
 .elementor-263 [id^="hm-kt-blk-"]{position:absolute;top:0;height:40px;width:calc((100% - 18px) / 5 * .46);min-width:0;padding:0;border-radius:0 0 4px 4px;pointer-events:none;z-index:2;background-image:linear-gradient(180deg,#0A0B08 0%,#1A1D15 6%,#0E100B 55%,#14170F 84%,#3A3F33 86%,#24281F 100%);box-shadow:inset 1.5px 0 0 rgba(255,255,255,.10),inset -1.5px 0 0 rgba(0,0,0,.7),0 5px 7px rgba(0,0,0,.55),2px 3px 0 rgba(0,0,0,.18)}
 .elementor-263 #hm-kt-blk-1{left:calc(3px + (100% - 18px) / 5 * 1 + 3px - (100% - 18px) / 5 * .23 - 1.5px)}
 .elementor-263 #hm-kt-blk-2{left:calc(3px + (100% - 18px) / 5 * 2 + 6px - (100% - 18px) / 5 * .23 - 1.5px)}
 .elementor-263 #hm-kt-blk-3{left:calc(3px + (100% - 18px) / 5 * 4 + 12px - (100% - 18px) / 5 * .23 - 1.5px)}
}
@media (max-width:359px){.elementor-263 #hm-kt-kb button{font-size:11px;letter-spacing:-0.02em;padding-left:0;padding-right:0}}
@media (prefers-reduced-motion:reduce){.elementor-263 #hm-kt-ph img,.elementor-263 #hm-kt-kb button{transition-duration:0s!important}}
/* end HM page CSS key tabs v1 *//* End custom CSS */