/* Snow Lean base: global type (Inter scale), resets for block layout, header, off-canvas menu, contact form, carousel. */
:root{--sl-ink:#111111;--sl-text:#54595F;--sl-muted:#7A7A7A;--sl-line:#DDDDDD;--sl-soft:#F0F5FA;--sl-panel:#F7F7F7}
body.sl{font-family:'Inter',sans-serif;font-size:16px;line-height:1.65;color:#334155}
.sl h1,.sl h2,.sl h3,.sl h4,.sl h5,.sl h6,.sl .entry-title{font-family:'Inter',sans-serif;font-weight:500;color:var(--sl-ink)}
.sl h1{font-size:44px;line-height:1.15;letter-spacing:-.02em}.sl h2{font-size:32px;line-height:1.2;letter-spacing:-.01em}
.sl h3{font-size:20px;line-height:1.35;letter-spacing:0}.sl h4,.sl h5,.sl h6{font-size:16px;line-height:1.4}
.sl button,.sl input[type=button],.sl input[type=submit],.sl .button,.sl .wp-element-button{font-family:'Inter',sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;line-height:1.2;letter-spacing:.08em}
@media(max-width:1024px){.sl h1{font-size:37px}.sl h2{font-size:28px}.sl h3{font-size:19px}}
@media(max-width:767px){body.sl{font-size:15px}.sl h1{font-size:30px}.sl h2{font-size:24px}.sl h3{font-size:18px}}
.sl strong,.sl b,.sl th{font-weight:600}

/* block layout reset: generated per-element rules in blocks.css set the real spacing */
.sl .sx{box-sizing:border-box;margin:0}
:where(.sl .sx) > *{margin-block-start:0;margin-block-end:0}
.sl .sx p{margin-top:0}
.sl figure.sx{margin:0}
.sl .sx img{display:inline-block;vertical-align:middle;max-width:100%;height:auto}
.sl .wp-block-buttons.sx{gap:0}
.sl .sx .wp-block-button__link{transition:background .3s,color .3s,border-color .3s}
.sl .sx .wp-block-button__link:hover{opacity:.85}

.sl.ast-page-builder-template .entry-header{margin-top:0}
.sl:not(.woocommerce-page) .site-content > .ast-container{max-width:100%;padding:0}
.sl.page .entry-content{margin:0}
.sl.page .site-main > article{margin:0;padding:0}
.sl .wp-block-table.sx table{table-layout:auto}
.sl .wp-block-table.sx td,.sl .wp-block-table.sx th{border:0}
.sl .sl-ib{display:flex}

/* icons on buttons (inline SVG masks; Font Awesome free paths, CC BY 4.0) */
.sl .sl-ic .wp-block-button__link::after{content:"";display:inline-block;width:24px;height:24px;background:currentColor;-webkit-mask:var(--sl-icon) center/contain no-repeat;mask:var(--sl-icon) center/contain no-repeat;flex:0 0 auto}
.sl .sl-ic-fa-arrow-circle-right{--sl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E")}
.sl .sl-ic-fa-instagram{--sl-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}

/* header (measured from the Elementor header #2622) */
.sl-header{position:relative;z-index:99;background:#fff;padding-top:10px}
.sl-header-in{display:flex;justify-content:space-between;align-items:flex-start;max-width:1200px;margin:0 auto;height:135.86px;box-sizing:border-box}
.sl-header::after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid var(--sl-line)}
.sl-logo{display:block;margin-top:30px;line-height:0}.sl-logo img{width:150px;height:auto}
.sl-nav{margin-top:15px}
.sl-menu{display:flex;justify-content:flex-end;list-style:none;margin:0;padding:0}
.sl-menu a{display:flex;align-items:center;height:77px;padding:0 29px 0 8px;font-size:14px;line-height:1.2;letter-spacing:.02em;color:var(--sl-text);text-decoration:none;transition:color .4s}
.sl-menu li:last-child a{padding-right:29px}
.sl-menu a:hover,.sl-menu .current-menu-item a,.sl-oc-menu .current-menu-item a{color:var(--sl-muted)}
.sl-burger{display:none;margin-top:25px;width:45px;height:47.6px;padding:8px;border:0;border-radius:3px;background:#fff;color:var(--sl-ink);box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer;align-items:center;justify-content:center;line-height:0}
.sl-burger:hover,.sl-burger:focus{background:#fff;color:var(--sl-ink)}
.sl-overlay{position:fixed;inset:0;background:rgba(51,51,51,.5);z-index:14}
.sl-offcanvas{position:fixed;top:0;left:-360px;width:350px;max-width:100%;height:100vh;overflow-y:auto;background:var(--sl-panel);z-index:1000;transition:left .6s cubic-bezier(.6,.1,.68,.53);padding-bottom:10px;box-sizing:border-box;display:none}
.sl-offcanvas.is-open{left:0;transition:left .6s cubic-bezier(.22,.61,.24,1)}
.sl-oc-top{display:flex;justify-content:space-between;align-items:center;padding:10px 0;min-height:83.875px;box-sizing:border-box}
.sl-oc-logo{display:inline-block;padding:5px;margin:5px 0;line-height:0}.sl-oc-logo img{max-width:120px;width:120px;height:auto}
.sl-close{margin:12px;width:45px;height:33.6px;padding:8px;border:1px solid rgba(0,0,0,.5);border-radius:3px;background:transparent;color:var(--sl-ink);font-size:13px;font-weight:500;line-height:1.2;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.sl-close:hover,.sl-close:focus{background:transparent;color:var(--sl-ink)}
.sl-oc-menu{list-style:none;margin:0;padding:0}
.sl-oc-menu a{display:flex;align-items:center;padding:10px 15px;font-size:16px;line-height:1.2;letter-spacing:.02em;color:#000;text-decoration:none}
@media(max-width:1024px){.sl-nav{display:none}.sl-burger{display:flex}.sl-offcanvas{display:block}.sl-header-in{padding:0 20px 0 30px}}
@media(max-width:767px){.sl-header-in{height:98.6px;padding:0 20px}.sl-logo{margin-top:20px}.sl-logo img{width:132px}}
body.sl-menu-open{overflow:hidden}

/* footer wrapper */
.sl-footer{background:#fff}

/* contact form (replaces Fluent Forms #3) */
.snow-cf{max-width:100%;text-align:start}
.snow-cf .snow-cf-row{margin:0 0 20px}
.snow-cf input,.snow-cf textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:11px 15px;font-family:'Inter',sans-serif;font-size:16px;line-height:1;color:#606266;background:#fff;border:1px solid #DADBDD;border-radius:7px;box-shadow:0 1px 2px rgba(0,0,0,.05);height:40px}
.snow-cf textarea{height:90px;line-height:1;resize:vertical}
.snow-cf input::placeholder,.snow-cf textarea::placeholder{color:#808285}
.snow-cf .snow-cf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.snow-cf button{display:inline-block;padding:8px 20px;font-size:16px;font-weight:500;line-height:24px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#0C0C0C;border:1px solid #1A7EFB;border-radius:0;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer}
.snow-cf-msg{margin:0 0 20px;padding:12px 15px;font-size:15px;line-height:1.5;border-radius:4px}
.snow-cf-msg.ok{background:#EEF8F0;color:#1E5E2B}.snow-cf-msg.err{background:#FDEEEE;color:#8A1F1F}
/* underline variant (the Elementor-styled Fluent widget on contact + validation pages) */
.sl-ff-underline .snow-cf input,.sl-ff-underline .snow-cf textarea{font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#111;background:transparent;border:0;border-bottom:1px solid #D0CECE;border-radius:0}
.sl-ff-underline .snow-cf input::placeholder,.sl-ff-underline .snow-cf textarea::placeholder{color:#111}
.sl-ff-underline .snow-cf button{display:flex;padding:10px 50px;font-size:13px;line-height:1.2;color:#111;background:#F0F5FA;border:1px solid #111;border-radius:20px}

/* carousel (replaces Elementor image carousel; scroll-snap + arrows from snow.js) */
.sl .sl-carousel{position:relative;display:flex;gap:var(--sl-gap,20px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.sl .sl-carousel::-webkit-scrollbar{display:none}
.sl .sl-carousel > figure{flex:0 0 calc((100% - (var(--sl-show,1) - 1) * var(--sl-gap,20px)) / var(--sl-show,1));scroll-snap-align:start;margin:0!important;text-align:center}
.sl .sl-carousel > figure img{width:100%;height:auto}
.sl .sl-car-wrap{position:relative}
.sl .sl-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;padding:0;border:0;background:transparent;color:#7A7A7A;cursor:pointer;line-height:0}
.sl .sl-car-btn:hover,.sl .sl-car-btn:focus{background:transparent;color:#111}
.sl .sl-car-prev{left:0}.sl .sl-car-next{right:0}
.sl .sl-menu-inline{justify-content:flex-start}.sl .sl-menu-inline a{height:70px}
.sl .sl-carousel figure .wp-element-caption{margin-bottom:0}.sl .sl-landing-overlay{}
