

/* Start:/local/templates/slushaytelo/styles.css?178715940048675*/

/* Contact page: resolve section color cascade. */
.contact-site > main.contact-page > section.contact-route {
  --section-bg: var(--beige) !important;
  background-color: var(--beige) !important;
  color: var(--ink) !important;
}
.contact-site > main.contact-page > section.contact-route .contact-kicker,
.contact-site > main.contact-page > section.contact-route .contact-route-details dt {
  color: var(--green) !important;
}
.contact-site > main.contact-page > section.contact-route .contact-route-intro {
  color: rgb(45 40 36 / 76%) !important;
}
.contact-site > main.contact-page > section.contact-route .contact-route-details > div {
  border-color: var(--sand) !important;
}
.contact-site > main.contact-page > section.contact-route .contact-route-button {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: var(--card) !important;
}
.contact-site > main.contact-page > section.contact-message-guide {
  --section-bg: var(--green) !important;
  background-color: var(--green) !important;
  color: var(--card) !important;
}
.contact-site > main.contact-page > section.contact-message-guide .contact-kicker,
.contact-site > main.contact-page > section.contact-message-guide .contact-message-intro,
.contact-site > main.contact-page > section.contact-message-guide .contact-guide-grid p {
  color: rgb(255 253 248 / 76%) !important;
}
@font-face{font-family:Manrope;src:url(/local/templates/slushaytelo/assets/fonts/manrope-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/local/templates/slushaytelo/assets/fonts/manrope-500.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/local/templates/slushaytelo/assets/fonts/manrope-600.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Prata;src:url(/local/templates/slushaytelo/assets/fonts/prata-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--milk:#f7f3eb;--card:#fffdf8;--beige:#e4d5c0;--sand:#c8b59b;--walnut:#6b5a4d;--ink:#2d2824;--green:#24483a;--deep:#19362d;--side:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{position:relative;margin:0;background:var(--milk);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:22px}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit}.site{width:100%;max-width:1440px;margin:auto;background:var(--milk);overflow:visible}a{color:inherit;text-decoration:none}.header{height:81px;padding:0 var(--side);display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--milk);border-bottom:1px solid var(--sand);position:relative;z-index:5}.logo{width:240px;height:48px;display:flex;align-items:center;gap:12px;flex:none}.logo img{width:36px;height:36px}.logo span{display:flex;flex-direction:column;width:192px;overflow:hidden}.logo b{font-size:9.5px;line-height:12px;letter-spacing:1.4px;font-weight:600}.logo i{font:400 23px/28px Prata,serif;font-style:normal;white-space:nowrap}.nav{display:flex;gap:24px;align-items:center;white-space:nowrap}.nav a{font-size:14px}.nav a:hover,.footer a:hover,.text-link:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}.header-actions{height:52px;display:flex;align-items:center;gap:16px;flex:none}.phone{font-weight:500;white-space:nowrap}.messengers{display:flex;align-items:center;height:40px}.messengers a{height:40px;width:36px;display:grid;place-items:center;border-radius:20px}.messengers a:hover{background:#e4d5c080}.messengers img{width:20px;height:20px}.button{min-height:52px;width:150px;padding:14px 24px;border:1px solid var(--green);border-radius:4px;background:var(--green);color:var(--card);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:15px;line-height:20px;font-weight:600;letter-spacing:.3px;white-space:nowrap;transition:background .16s,color .16s}.button:hover{background:var(--deep)}.outline{width:auto;background:transparent;color:var(--ink);border-color:var(--sand)}.outline:hover{background:#ffffff8a;color:var(--ink)}.menu-toggle{display:none}.eyebrow{margin:0;font-size:12px;line-height:18px;font-weight:600;letter-spacing:1.44px;color:var(--walnut)}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,blockquote,.contact-phone,.faq-phone,.contact-address{font-family:Prata,Georgia,serif;font-weight:400}h2{font-size:52px;line-height:64px}.lead{font-size:17px;line-height:28px}.hero{height:687px;position:relative;overflow:hidden;background:var(--milk)}.hero-photo{position:absolute;left:400px;top:0;width:976px;height:607px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-band{position:absolute;left:400px;bottom:0;width:976px;height:80px;background:var(--green)}.hero-wash{position:absolute;left:32px;top:82px;width:900px;height:310px;background:linear-gradient(90deg,rgba(247,243,235,.98),rgba(247,243,235,.84) 52%,rgba(247,243,235,0))}.hero-eyebrow{position:absolute;left:64px;top:52px;color:var(--ink)}.hero h1{position:absolute;left:64px;top:104px;width:820px;font-size:80px;line-height:86px}.hero-lead{position:absolute;left:64px;top:402px;width:450px}.hero-actions{position:absolute;left:64px;top:506px;display:flex;align-items:center;gap:16px}.hero-actions .outline{width:212px}.text-link{font-weight:600;white-space:nowrap}.booking-note{position:absolute;left:64px;top:574px;letter-spacing:1.2px}.hero-address{position:absolute;left:64px;top:638px}.hero-mantra{position:absolute;top:638px;right:96px;width:420px;text-align:right;color:var(--card);font-size:12px;line-height:18px;letter-spacing:1.44px;font-weight:600}.photo-tag{font-size:12px;line-height:18px;font-weight:600;letter-spacing:1.2px;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--ink)}.hero>.photo-tag{position:absolute;top:20px;right:92px;width:278px;height:42px}.section-light{background:var(--card)}.section-cream{background:var(--milk)}.section-beige{background:var(--beige)}.section-green{background:var(--green);color:var(--card)}.section-green .eyebrow{color:#fffdf8b0}.section-brown{background:var(--ink);color:var(--card)}.section-brown .eyebrow{color:#fffdf8b0}.statement{height:460px;padding:80px var(--side);display:grid;grid-template-columns:760px 100px 1fr;position:relative}.statement h2{margin-top:28px}.statement-index{align-self:end;font:400 78px/84px Prata,serif;color:var(--walnut);opacity:.12}.facts{width:452px;margin-top:-2px}.facts>div{height:72px;border-top:1px solid var(--sand);display:flex;align-items:center;justify-content:space-between;gap:20px}.facts>div:last-child{border-bottom:1px solid var(--sand)}.facts dt{font-size:12px;line-height:18px;font-weight:600;letter-spacing:.96px;color:var(--walnut)}.facts dd{width:250px;text-align:right}.services{height:1240px;padding:104px var(--side) 0;position:relative}.services h2{font-size:54px;line-height:64px;margin-top:28px}.services-intro{position:absolute;top:112px;right:64px;width:440px;color:var(--walnut)}.service-layout{display:grid;grid-template-columns:790px 460px;gap:62px;margin-top:62px}.service-list{height:740px}.service{height:112px;border-top:1px solid var(--sand);overflow:hidden;transition:height .2s,background .2s}.service.active{height:180px;background:var(--beige)}.service button{width:100%;height:112px;border:0;background:transparent;padding:0 10px 0 16px;display:grid;grid-template-columns:56px 1fr 200px 40px;align-items:center;text-align:left;color:inherit;cursor:pointer}.service.active button{height:74px}.service-num{font-size:12px;line-height:18px;font-weight:600;letter-spacing:1.2px;color:var(--walnut)}.service-title{font:400 27px/34px Prata,serif}.service.active .service-title{font-size:30px;line-height:38px}.service-meta{text-align:right;font-size:14px;line-height:20px;font-weight:500;color:var(--walnut)}.service-state{text-align:center;font:400 30px/38px Prata,serif}.service p{margin:0 72px;color:var(--walnut);font-size:14px;line-height:22px;max-width:570px}.service-image{height:700px;position:relative;overflow:visible}.service-image img{width:460px;height:700px;object-fit:cover}.service-image .photo-tag{position:absolute;top:20px;left:20px;width:170px;height:42px}.service-image figcaption{margin:20px;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.72px;color:var(--walnut)}.section-cta{position:absolute;bottom:68px;left:var(--side);display:flex;align-items:center;gap:122px}.section-cta p{width:700px}.approach{height:960px;padding:120px 64px;display:grid;grid-template-columns:560px 1fr;gap:96px}.approach figure{position:relative}.approach figure>img{width:560px;height:720px;object-fit:cover}.approach figcaption{position:absolute;left:24px;bottom:22px;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.96px}.approach-copy{position:relative;padding-top: -0px}.approach h2{font-size:46px;line-height:56px;margin-top:34px}.approach-copy>.lead{width:560px;margin-top:58px}.principles{list-style:none;padding:0;margin:76px 0 0;width:592px}.principles li{height:100px;border-top:1px solid #fffdf860;display:grid;grid-template-columns:68px 1fr;padding-top:18px}.principles b{font-size:12px;line-height:18px;letter-spacing:1.44px}.principles h3{font-size:23px;line-height:30px}.principles p{font-size:14px;line-height:22px;margin-top:6px}.approach-note{position:absolute;top:722px;left:0;letter-spacing:.48px}.first-visit{height:720px;padding:88px 64px;position:relative}.first-visit h2{font-size:46px;line-height:56px;margin-top:26px}.visit-intro{position:absolute;top:142px;right:74px;width:430px;color:var(--walnut)}.steps{margin:66px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none}.steps li{height:286px;padding:8px 32px 0;border-left:1px solid #6b5a4d44}.steps li:first-child{border:0;padding-left:0}.steps b{font:400 48px/56px Prata,serif;color:var(--walnut)}.steps h3{font-size:26px;line-height:34px;margin-top:32px;max-width:264px}.steps p{font-size:14px;line-height:22px;margin-top:46px;max-width:264px}.first-visit .section-cta{bottom:40px;gap:116px}.first-visit .section-cta p{width:620px}.atmosphere{height:1080px;padding:96px 64px;position:relative}.atmosphere h2{font-size:52px;line-height:62px;margin-top:28px}.atmosphere-intro{position:absolute;right:74px;top:150px;width:430px;color:var(--walnut)}.atmos-grid figure{margin:0;position:absolute}.atmos-grid img{width:100%;height:100%;object-fit:cover}.materials{left:64px;top:320px;width:820px;height:560px}.atmos-interior{left:952px;top:246px;width:360px;height:650px}.touch{left:764px;top:700px;width:304px;height:304px;border:8px solid var(--card)}.atmos-grid figcaption{position:absolute;top:580px;font-size:12px;line-height:18px;font-weight:600;letter-spacing:.96px;color:var(--walnut);white-space:nowrap}.atmos-interior figcaption{top:670px;right:-64px}.atmosphere-note{position:absolute;bottom:44px;letter-spacing:1.2px}.reviews{height:660px;padding:88px 64px;position:relative}.reviews-counter{position:absolute;top:88px;right:64px}.reviews blockquote{font-size:46px;line-height:60px;position:absolute;left:168px;top:188px}.reviews-meta{position:absolute;left:168px;top:390px;letter-spacing:.96px}.reviews-status{position:absolute;left:168px;top:466px;width:382px;height:44px;display:grid;place-items:center;background:var(--card);color:var(--ink);font-size:12px;line-height:18px;letter-spacing:1.08px;font-weight:600}.reviews-line{position:absolute;left:64px;bottom:115px;width:1144px;border-top:1px solid #fffdf860}.faq{height:840px;padding:96px 64px;display:grid;grid-template-columns:540px 720px;justify-content:space-between}.faq h2{font-size:42px;line-height:52px;margin-top:30px}.faq-intro>.lead{margin-top:50px;width:390px}.faq-phone{display:block;margin-top:62px;font-size:30px;line-height:38px}.faq-intro>.eyebrow{margin-top:10px;letter-spacing:1.2px}.accordion{width:720px}.faq-item{height:90px;border-top:1px solid var(--sand);overflow:hidden;transition:height .2s}.faq-item.open{height:170px}.faq-item button{height:74px;width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:400 22px/30px Prata,serif;padding:0}.faq-item b{font:400 30px/38px Prata,serif}.faq-item p{max-width:610px;font-size:14px;line-height:22px}.faq-note{margin-top:36px;letter-spacing:1.44px}.contact{height:1020px;padding:96px 64px;position:relative}.contact h2{font-size:46px;line-height:56px;margin-top:32px}.contact .lead{width:600px;margin-top:38px;color:#fffdf8b0}.contact-phone{display:block;font-size:48px;line-height:58px;margin-top:50px}.contact-actions{display:flex;gap:14px;align-items:center;margin-top:32px}.light-outline{border-color:#fffdf899;color:var(--card)}.light-outline:hover{background:#fffdf820;color:var(--card)}.contact-actions .ghost-link{font-weight:400}.address-label{margin-top:78px}.contact-address{font-size:30px;line-height:40px;margin-top:24px}.contact-full{font-size:14px;line-height:22px;margin-top:24px;color:#fffdf8b0}.contact-note{margin-top:46px;letter-spacing:1.2px}.map{position:absolute;right:64px;top:120px;width:556px;height:760px;background:var(--beige);overflow:hidden}.map>img{width:100%;height:100%;object-fit:cover}.map figcaption{position:absolute;inset:0;pointer-events:none}.map figcaption span{position:absolute;left:28px;top:28px;width:210px;height:44px;display:grid;place-items:center;background:var(--card);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:1.2px}.map figcaption b{position:absolute;right:30px;bottom:210px;font:400 23px/34px Prata,serif;color:var(--ink)}.map figcaption small{position:absolute;right:30px;bottom:180px;color:var(--walnut);font-size:12px;letter-spacing:.96px}.footer{height:320px;padding:64px;position:relative}.footer .logo{width:340px;height:64px;gap:16px}.footer .logo img{width:48px;height:48px}.footer .logo span{width:276px;color:var(--card)}.footer .logo b{font-size:11px;line-height:14px;letter-spacing:1.8px}.footer .logo i{font-size:30px;line-height:36px}.footer-tagline{position:absolute;left:64px;top:148px}.footer nav{position:absolute;left:468px;top:72px;display:flex;gap:24px;color:var(--card)}.footer-phone{position:absolute;right:64px;top:64px;font:400 23px/28px Prata,serif}.footer-address{position:absolute;right:64px;top:160px}.legal{position:absolute;left:64px;bottom:56px;color:#fffdf8b0;font-size:12px;line-height:18px}.disclaimer{position:absolute;right:64px;bottom:52px;width:536px;text-align:right;color:#fffdf8b0;font-size:12px;line-height:18px}.footer-messengers{position:absolute;right:64px;top:104px}
@media(max-width:1180px){:root{--side:40px}.nav{gap:14px}.header-actions{gap:8px}.small-phone{display:none}.services-intro{right:40px}.service-layout{grid-template-columns:minmax(0,1fr) 38%;gap:40px}.service-image,.service-image img{width:100%}.service button{grid-template-columns:48px minmax(0,1fr) 150px 32px}.service-meta{font-size:12px}.approach{gap:60px}.map{right:40px;width:42%}.contact-copy{width:52%}.contact .lead{width:auto}.footer nav{left:360px;gap:14px}.footer-address,.footer-phone,.footer-messengers,.disclaimer{right:40px}}
@media(max-width:1180px){:root{--side:24px}body{background:var(--milk)}.site{overflow:clip}.header{height:72px;padding:0 24px}.logo{width:auto;height:44px;gap:8px}.logo img{width:32px;height:32px}.logo span{width:164px}.logo b{font-size:8px;line-height:11px;letter-spacing:1.15px}.logo i{font-size:20px;line-height:25px}.menu-toggle{display:grid;width:44px;height:44px;place-content:center;gap:4px;border:0;background:transparent;color:var(--ink);cursor:pointer}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor}.menu-toggle em{position:absolute;opacity:0;pointer-events:none}.nav{display:none;position:absolute;top:71px;left:0;width:100%;padding:18px 24px 24px;background:var(--card);border-bottom:1px solid var(--sand);flex-direction:column;align-items:flex-start;gap:14px}.nav.open{display:flex}.header-actions{display:none}h2{font-size:36px!important;line-height:44px!important}.hero{height:auto;min-height:720px;display:flex;flex-direction:column;padding:40px 24px 28px}.hero-photo{position:relative;order:2;left:auto;top:auto;margin:26px -24px 0;width:calc(100% + 48px);height:min(91vw,500px)}.hero-band{order:3;position:relative;left:auto;bottom:auto;margin:0 -24px;width:calc(100% + 48px);height:52px}.hero-wash,.hero-mantra,.hero>.photo-tag{display:none}.hero-eyebrow,.hero h1,.hero-lead,.hero-actions,.booking-note,.hero-address{position:relative;left:auto;top:auto}.hero-eyebrow{order:0}.hero h1{order:1;width:auto;margin-top:28px;font-size:52px;line-height:58px}.hero-lead{order:4;width:auto;margin-top:28px}.hero-actions{order:5;flex-wrap:wrap;margin-top:26px}.hero-actions .outline{width:auto}.booking-note{order:6;margin-top:24px}.hero-address{order:7;margin-top:24px;font-size:13px;line-height:20px}.statement{height:auto;min-height:580px;padding:58px 24px;display:block}.statement h2{margin-top:22px}.statement-index{display:none}.facts{width:auto;margin-top:42px}.facts>div{height:auto;min-height:70px}.facts dd{width:55%}.services{height:auto;min-height:0;padding:58px 24px 40px}.services h2{margin-top:22px}.services-intro{position:relative;top:auto;right:auto;width:auto;margin-top:28px}.service-layout{display:block;margin-top:40px}.service-list{height:auto}.service{height:auto;min-height:84px}.service.active{height:auto;min-height:150px}.service button,.service.active button{height:84px;padding:0 4px 0 10px;grid-template-columns:42px minmax(0,1fr) 29px}.service-meta{display:none}.service-title,.service.active .service-title{font-size:22px;line-height:30px}.service p{margin:0 52px 18px;max-width:none}.service-image{height:auto;margin-top:32px}.service-image img{height:min(125vw,620px)}.service-image figcaption{margin:12px 0 0}.section-cta{position:relative;left:auto;bottom:auto;margin-top:38px;gap:20px;align-items:flex-start;flex-direction:column}.section-cta p{width:auto}.approach{height:auto;min-height:0;padding:56px 24px;display:flex;flex-direction:column;gap:40px}.approach figure>img{width:100%;height:min(125vw,600px)}.approach figcaption{left:16px;bottom:16px;font-size:10px}.approach-copy>.lead{width:auto;margin-top:30px}.principles{width:auto;margin-top:44px}.principles li{height:auto;min-height:102px;grid-template-columns:48px 1fr}.principles h3{font-size:20px;line-height:28px}.approach-note{position:relative;top:auto;margin-top:30px;font-size:10px;line-height:16px}.first-visit{height:auto;min-height:0;padding:56px 24px}.visit-intro{position:relative;top:auto;right:auto;width:auto;margin-top:28px}.steps{margin-top:40px;grid-template-columns:1fr 1fr;gap:0}.steps li,.steps li:first-child{height:auto;min-height:220px;padding:8px 16px 20px;border-left:1px solid #6b5a4d44}.steps li:nth-child(odd){border-left:0;padding-left:0}.steps h3{font-size:21px;line-height:28px;margin-top:24px}.steps p{margin-top:22px}.first-visit .section-cta{bottom:auto;gap:20px}.atmosphere{height:auto;min-height:0;padding:56px 24px}.atmosphere-intro{position:relative;right:auto;top:auto;width:auto;margin-top:28px}.atmos-grid{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.atmos-grid figure{position:relative;left:auto!important;top:auto!important;width:auto!important;height:auto!important}.materials{grid-column:1 / -1}.materials,.materials img{height:64vw}.atmos-interior,.atmos-interior img{height:78vw}.touch,.touch img{height:42vw}.touch{border-width:4px}.atmos-grid figcaption,.atmos-interior figcaption{position:static;margin-top:10px;white-space:normal;font-size:10px;line-height:15px}.atmosphere-note{position:relative;bottom:auto;margin-top:40px;font-size:10px;line-height:16px}.reviews{height:auto;min-height:500px;padding:56px 24px}.reviews-counter{top:56px;right:24px}.reviews blockquote{position:relative;left:auto;top:auto;margin:62px 0 0;font-size:36px;line-height:46px}.reviews-meta{position:relative;left:auto;top:auto;margin-top:44px;font-size:10px;line-height:16px}.reviews-status{position:relative;left:auto;top:auto;margin-top:34px;width:100%;max-width:382px}.reviews-line{left:24px;bottom:46px;width:calc(100% - 48px)}.faq{height:auto;padding:56px 24px;display:block}.faq-intro>.lead{width:auto;margin-top:32px}.faq-phone{margin-top:40px}.accordion{width:auto;margin-top:50px}.faq-item{height:auto;min-height:76px}.faq-item.open{height:auto;min-height:154px}.faq-item button{min-height:76px;font-size:20px;line-height:28px;gap:12px}.faq-item p{padding-bottom:20px}.faq-note{margin-top:30px;font-size:10px;line-height:16px}.contact{height:auto;min-height:0;padding:56px 24px;display:flex;flex-direction:column}.contact-copy{width:auto}.contact .lead{margin-top:30px}.contact-phone{font-size:36px;line-height:46px;margin-top:38px}.contact-actions{flex-wrap:wrap;margin-top:28px}.address-label{margin-top:48px}.contact-address{font-size:26px;line-height:34px}.contact-note{font-size:10px;line-height:16px}.map{position:relative;top:auto;right:auto;width:100%;height:126vw;max-height:620px;margin-top:42px}.map figcaption b{bottom:28%;font-size:19px}.map figcaption small{bottom:24%;font-size:10px}.footer{height:auto;min-height:430px;padding:48px 24px}.footer .logo{width:auto}.footer .logo span{width:220px}.footer .logo i{font-size:26px}.footer-tagline{position:relative;left:auto;top:auto;margin-top:20px}.footer nav{position:relative;left:auto;top:auto;flex-wrap:wrap;margin-top:34px;gap:10px 18px}.footer-phone{position:relative;right:auto;top:auto;display:block;margin-top:30px}.footer-address{position:relative;right:auto;top:auto;margin-top:12px}.footer-messengers{position:relative;right:auto;top:auto;margin-top:12px}.legal,.disclaimer{position:relative;left:auto;right:auto;bottom:auto;width:auto;text-align:left;margin-top:26px}.disclaimer{margin-top:12px}}
@media(max-width:380px){:root{--side:18px}.header{padding:0 18px}.hero{padding-left:18px;padding-right:18px}.hero-photo,.hero-band{margin-left:-18px;margin-right:-18px;width:calc(100% + 36px)}.hero h1{font-size:46px;line-height:53px}.hero-actions .button{width:100%}.hero-actions .outline{width:100%}.steps{grid-template-columns:1fr}.steps li,.steps li:nth-child(odd){border-left:0;border-top:1px solid #6b5a4d44;padding-left:0}.faq-phone,.contact-phone{font-size:30px;line-height:40px}.reviews-counter{display:none}.reviews blockquote{font-size:31px;line-height:41px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}.section-green :focus-visible,.section-brown :focus-visible{outline-color:var(--card)}

.site>.header,.site>main,.site>.footer,.site>main>section{inline-size:100%;max-inline-size:none;margin-inline:0;background-clip:border-box}.site>main{background:var(--milk)}

.viewport-backgrounds{position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--milk)}.site{position:relative;z-index:1}.site>.header,.site>main>section,.site>.footer{--section-bg:var(--milk);background-color:var(--section-bg)}.site>.header,.site>main>.hero,.site>main>.services{--section-bg:var(--milk)}.site>main>.statement,.site>main>.atmosphere,.site>main>.faq{--section-bg:var(--card)}.site>main>.first-visit{--section-bg:var(--beige)}.site>main>.approach,.site>main>.reviews,.site>.footer{--section-bg:var(--green)}.site>main>.contact{--section-bg:var(--ink)}

.faq-panel[hidden]{display:none}

.map-frame{position:absolute;inset:0;z-index:0;width:100%;height:100%;border:0;background:var(--beige)}.map figcaption{z-index:1}.map figcaption .map-route{position:absolute;left:28px;top:28px;width:210px;height:44px;display:grid;place-items:center;background:var(--card);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:1.2px;pointer-events:auto}.map figcaption .map-route:hover{text-decoration:underline;text-underline-offset:4px}.map figcaption .map-route:focus-visible{outline-color:var(--green)}

.messenger-control{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:4px;background:var(--green);color:var(--card);transition:background .16s}.messenger-control:hover{background:var(--deep)}.messenger-control:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.messenger-control img{width:20px;height:20px}.hero-messengers{display:flex;align-items:center;gap:8px}.hero-messengers .messenger-control{flex-basis:52px;width:52px;height:52px}

.hero-actions>.button{width:auto;min-width:150px;max-width:100%;white-space:normal}
.header .logo span{min-height:42px;overflow:visible}

@media (min-width:1181px){
  .faq-item:not(.open)>button{height:89px}
  .facts{align-self:start;height:290px}
  .approach-copy{margin-top:-8px}
  .approach-copy h2{white-space:nowrap}
  .reviews-counter{right:64px;width:160px;text-align:right;letter-spacing:1.2px;color:var(--card);opacity:.68}
  .faq-intro>.lead{color:var(--walnut)}
  .contact-copy>.lead{margin-top:44px}
  .contact-phone{margin-top:60px}
  .contact-note{margin-top:60px}
  .footer-phone{right:64px;width:276px;text-align:right;font:400 17px/28px Manrope,Arial,sans-serif}
}

.footer-owner{position:absolute;left:64px;top:184px;display:grid;gap:3px;color:var(--card);font-size:12px;line-height:18px}.footer-owner strong{font-weight:600}.footer-owner span{color:#fffdf8b0}
@media(max-width:1180px){.footer-owner{position:relative;left:auto;top:auto;margin-top:14px}}

.footer-legal{position:absolute;left:64px;bottom:52px;display:flex;max-width:500px;flex-wrap:wrap;gap:8px 18px;color:#fffdf8b0;font-size:12px;line-height:18px}.footer .legal{bottom:78px}.footer-legal a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.footer-legal a:hover,.footer-legal a:focus-visible{text-decoration-color:currentColor}
@media(max-width:1180px){.footer-legal{position:relative;left:auto;bottom:auto;max-width:none;margin-top:12px}.footer .legal{bottom:auto}}

@media (max-width:1180px){
  .faq-item:not(.open)>button{height:76px}
  .nav.open{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .first-visit .section-cta p{width:auto;max-width:100%}
  .messengers{height:44px}
  .messengers a{width:44px;height:44px}
}

@media (min-width:1181px){
  html{scrollbar-width:none}
  html::-webkit-scrollbar{width:0;height:0}
  :root{--viewport-scrollbar-width:max(0px,calc(100vw - 100%));--edge-compensation:max(0px,min(var(--viewport-scrollbar-width),calc(1440px - 100%)))}
  .site{width:100%;max-width:1440px;margin:auto;overflow:visible}
  .header{padding-right:calc(var(--side) - var(--edge-compensation))}
  .hero-mantra{right:calc(96px - var(--edge-compensation))}
  .hero>.photo-tag{right:calc(92px - var(--edge-compensation))}
  .services-intro{right:calc(64px - var(--edge-compensation))}
  .visit-intro,.atmosphere-intro{right:calc(74px - var(--edge-compensation))}
  .reviews-counter{right:calc(64px - var(--edge-compensation))}
  .map{right:calc(64px - var(--edge-compensation))}
  .footer-phone,.footer-address,.footer-messengers,.disclaimer{right:calc(64px - var(--edge-compensation))}
}

@media (max-width:1180px){
  .site{overflow:visible}
}

@media (max-width:380px){
  .header{gap:8px}
  .header .logo{min-width:0;gap:8px}
  .header .logo span{width:122px;overflow:visible}
  .header .logo i{font-size:15px;line-height:20px}
  .menu-toggle{position:relative;flex:0 0 44px}
  .menu-toggle em{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  h1,h2,h3,blockquote,.eyebrow,.lead,.section-cta p,.service p,.footer-phone{overflow-wrap:anywhere;word-break:break-word}
  .approach-copy,.statement>*,.section-cta{min-width:0}
  .first-visit .section-cta p{width:auto}
  .hero h1{overflow-wrap:anywhere;word-break:break-word;padding-bottom:6px}
  .hero-actions{min-width:0;width:100%}
  .hero-actions .button{width:100%;height:auto;min-height:52px;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
}
.header .messengers {
  height: 44px;
  gap: 0;
}

.hero-messengers {
  gap: 0;
}

.hero-messengers .messenger-control {
  flex-basis: 36px;
  width: 36px;
  height: 40px;
  border-radius: 20px;
  background: transparent;
}

.hero-messengers .messenger-control:hover {
  background: transparent;
}

.contact-messengers {
  display: flex;
  align-items: center;
  gap: 0;
}

.contact-messengers a {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
}

.contact-messengers a:hover {
  background: rgb(255 253 248 / 12%);
}

.contact-messengers a:focus-visible {
  outline: 2px solid var(--card);
  outline-offset: 3px;
}

.mobile-menu-contact {
  display: none;
}

.mobile-header-phone {
  display: none;
}

.site > main > .hero {
  margin-top: 15px;
}

/* Все первые hero-секции начинаютcя с одинакового отступа от шапки. */
.site > main > .about-hero,
.site > main > .contact-hero,
.site > main > .reviews-hero,
.site > main > .price-hero,
.site > main > .service-hero,
.site > main > .legal-hero {
  margin-top: 15px;
}

@media (max-width: 1180px) {
  .header {
    gap: 8px;
  }

  .mobile-header-phone {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    place-items: center;
    border-radius: 50%;
  }

  .mobile-header-phone:hover {
    background: var(--card);
  }

  .mobile-header-phone img {
    width: 20px;
    height: 20px;
  }

  .nav.open .mobile-menu-contact {
    display: grid;
    width: 100%;
    margin-top: 8px;
    padding-top: 22px;
    border-top: 1px solid var(--sand);
  }

  .mobile-menu-contact > .eyebrow {
    color: var(--walnut);
  }

  .nav .mobile-menu-phone {
    width: max-content;
    max-width: 100%;
    margin-top: 12px;
    color: var(--ink);
    font: 400 28px/36px Prata, Georgia, serif;
    white-space: normal;
  }

  .mobile-menu-messengers {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 12px;
  }

  .nav .mobile-menu-messengers a {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
  }

  .nav .mobile-menu-messengers a:hover {
    background: var(--milk);
    text-decoration: none;
  }

  .mobile-menu-address {
    margin-top: 14px;
    color: var(--walnut);
    font-size: 13px;
    line-height: 20px;
  }
}

@media (max-width: 320px) {
  .header {
    padding-right: 12px;
    padding-left: 12px;
    gap: 0;
  }
}

/* Desktop service navigation. The mobile menu keeps its existing single link. */
@media (min-width: 1181px) {
  .nav-services {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
  }

  .nav-services-link {
    padding: 14px 2px 14px 0;
  }

  .nav-services-toggle {
    display: grid;
    width: 28px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
  }

  .nav-services-toggle span {
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform .18s ease, margin .18s ease;
  }

  .nav-services.is-open .nav-services-toggle span {
    margin-top: 3px;
    transform: rotate(225deg);
  }

  .nav-services-menu {
    position: absolute;
    z-index: 20;
    /* Keep the panel physically connected to its trigger. A gap here breaks
       :hover while the pointer travels from “Услуги” to the first item. */
    top: 100%;
    left: -18px;
    width: 352px;
    padding: 20px 18px 16px;
    border: 1px solid var(--sand);
    background: var(--card);
    box-shadow: 0 18px 36px rgb(45 40 36 / 14%);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity .18s ease, transform .2s ease, visibility 0s linear .2s;
  }

  .nav-services:hover .nav-services-menu,
  .nav-services:focus-within .nav-services-menu,
  .nav-services.is-open .nav-services-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
  }

  .nav-services-menu p {
    margin: 0 0 11px;
    color: var(--walnut);
    font-size: 10px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1.2px;
  }

  .nav-services-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nav .nav-services-menu li + li {
    border-top: 1px solid rgb(200 181 155 / 56%);
  }

  .nav .nav-services-menu a {
    display: block;
    padding: 11px 8px;
    font: 400 18px/25px Prata, Georgia, serif;
    text-decoration: none;
    transition: color .16s ease, background .16s ease;
  }

  .nav .nav-services-menu a:hover {
    color: inherit;
    background: transparent;
    text-decoration: none;
  }

  .nav .nav-services-menu .nav-services-all {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding: 13px 8px 0;
    border-top: 1px solid var(--sand);
    color: var(--green);
    font: 600 11px/18px Manrope, Arial, sans-serif;
    letter-spacing: 1.08px;
  }

  .nav-services-all span {
    font: 400 21px/18px Prata, Georgia, serif;
  }
}

@media (max-width: 1180px) {
  .nav-services {
    display: block;
    width: 100%;
  }

  .nav-services-toggle {
    display: none !important;
  }

  .nav-services-menu {
    display: block !important;
    width: 100%;
    margin: 2px 0 4px;
    padding: 4px 0 2px 16px;
    border-left: 1px solid var(--sand);
  }

  .nav-services-menu > p,
  .nav-services-all {
    display: none !important;
  }

  .nav-services-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nav .nav-services-menu li + li {
    margin-top: 1px;
  }

  .nav .nav-services-menu a {
    display: block;
    padding: 6px 0;
    color: var(--walnut);
    font-size: 13px;
    line-height: 20px;
    text-decoration: none;
  }

  .nav .nav-services-menu a:hover {
    color: var(--walnut);
    text-decoration: none;
  }
}

@media (max-width: 1180px) {
  .nav {
    display: flex;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition:
      opacity 0.22s ease,
      transform 0.28s cubic-bezier(.22, .61, .36, 1),
      visibility 0s linear 0.28s;
  }

  .nav.open {
    display: flex;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition-delay: 0s;
  }

  .menu-toggle span {
    transform-origin: center;
    transition: transform 0.25s ease, opacity 0.18s ease;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }
}

body.booking-open {
  overflow: hidden;
}

.booking-modal[hidden] {
  display: none;
}

.booking-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.booking-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgb(45 40 36 / 68%);
  opacity: 0;
  cursor: default;
  transition: opacity 0.22s ease;
}

.booking-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  width: 620px;
  height: 596px;
  max-width: 100%;
  max-height: calc(100dvh - 48px);
  flex-direction: column;
  gap: 16px;
  overflow: auto;
  padding: 36px 48px;
  border: 1px solid #d6c9b8;
  border-radius: 2px;
  background: var(--card);
  box-shadow: 0 20px 48px -12px rgb(0 0 0 / 20%);
  opacity: 0;
  transform: translateY(14px) scale(.985);
  transition: opacity 0.22s ease, transform 0.26s cubic-bezier(.22, .61, .36, 1);
}

.booking-modal.is-open .booking-backdrop,
.booking-modal.is-open .booking-dialog {
  opacity: 1;
}

.booking-modal.is-open .booking-dialog {
  transform: translateY(0) scale(1);
}

.booking-header {
  display: flex;
  width: 100%;
  height: 44px;
  flex: 0 0 44px;
  align-items: center;
  justify-content: space-between;
}

.booking-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--walnut);
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.44px;
  white-space: nowrap;
}

.booking-eyebrow img {
  width: 20px;
  height: 20px;
}

.booking-close {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--walnut);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition: background .16s ease;
}

.booking-close:hover {
  background: var(--milk);
}

.booking-close img {
  width: 18px;
  height: 18px;
}

.booking-copy {
  height: 102px;
  flex: 0 0 102px;
}

.booking-copy h2 {
  width: 100%;
  font: 400 30px/38px Prata, Georgia, serif !important;
  letter-spacing: -.3px;
}

.booking-copy p {
  width: 100%;
  margin-top: 8px;
  color: var(--walnut);
  font-size: 17px;
  line-height: 28px;
}

.booking-form {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 16px;
}

.booking-fields {
  display: grid;
  height: 100px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.booking-field {
  display: flex;
  min-width: 0;
  height: 100px;
  flex-direction: column;
  gap: 12px;
}

.booking-control {
  display: flex;
  width: 100%;
  height: 64px;
  flex: 0 0 64px;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 10px 12px;
  border: 1px solid var(--walnut);
  border-radius: 4px;
  background: var(--card);
  color: var(--walnut);
  transition: border-color .16s ease, box-shadow .16s ease;
}

.booking-control:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 1px var(--green);
}

.booking-control b {
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.44px;
}

.booking-control input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  line-height: 22px;
}

.booking-control input::placeholder {
  color: var(--walnut);
  opacity: 1;
}

.booking-helper {
  display: block;
  height: 22px;
  color: #93483f;
  font-size: 12px;
  line-height: 22px;
}

.booking-channels {
  display: flex;
  height: 160px;
  flex-direction: column;
  gap: 16px;
}

.booking-submit {
  width: 100%;
  height: 52px;
  flex: 0 0 52px;
  padding: 0 24px;
  border: 1px solid var(--green);
  border-radius: 4px;
  background: var(--green);
  color: var(--card);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: .3px;
  cursor: pointer;
  transition: background .16s ease;
}

.booking-submit:hover {
  background: var(--deep);
}

.booking-messenger-block {
  height: 92px;
}

.booking-messenger-block > p {
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1.44px;
}

.booking-messenger-options {
  display: grid;
  height: 64px;
  margin-top: 10px;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.booking-channel {
  display: flex;
  min-width: 0;
  height: 64px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 16px;
  border: 1px solid var(--walnut);
  border-radius: 2px;
  background: transparent;
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: .3px;
  transition: background .16s ease;
}

.booking-channel:hover {
  background: var(--milk);
  color: var(--ink);
  text-decoration: none;
}

.booking-channel img {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

.booking-consent {
  display: flex;
  min-height: 44px;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 22px;
  cursor: pointer;
}

.booking-consent input {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 0;
  appearance: none;
  border: 1px solid var(--walnut);
  border-radius: 4px;
  background: var(--card);
}

.booking-consent input:checked {
  background: var(--green);
  box-shadow: inset 0 0 0 4px var(--card);
}

.booking-close:focus-visible,
.booking-submit:focus-visible,
.booking-channel:focus-visible,
.booking-consent input:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .booking-modal {
    align-items: center;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  }

  .booking-dialog {
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 24px);
    padding: 24px 20px;
  }

  .booking-copy {
    height: auto;
    min-height: 90px;
    flex-basis: auto;
  }

  .booking-copy h2 {
    font-size: 27px !important;
    line-height: 36px !important;
  }

  .booking-copy p {
    font-size: 15px;
    line-height: 24px;
  }

  .booking-fields {
    height: auto;
    grid-template-columns: 1fr;
  }

  .booking-channel {
    gap: 7px;
    padding: 0 8px;
    font-size: 12px;
  }

  .booking-messenger-options {
    gap: 8px;
  }

  .booking-consent {
    font-size: 12px;
    line-height: 19px;
  }
}

@media (max-width: 1180px) {
  footer.footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
  }

  footer.footer > .footer-logo,
  footer.footer > .footer-tagline,
  footer.footer > .footer-owner,
  footer.footer > nav,
  footer.footer > .footer-phone,
  footer.footer > .footer-address,
  footer.footer > .footer-messengers,
  footer.footer > .legal {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    text-align: left;
  }

  footer.footer > .footer-logo { order: 1; }
  footer.footer > .footer-tagline { order: 2; margin-top: 20px; }
  footer.footer > .footer-owner { order: 3; margin-top: 14px; }
  footer.footer > nav:not(.footer-legal) { order: 4; }
  footer.footer > .footer-phone { order: 5; margin-top: 30px; }
  footer.footer > .footer-messengers { order: 6; margin-top: 14px; }
  footer.footer > .footer-address { order: 7; margin-top: 16px; }
  footer.footer > .legal { order: 8; margin-top: 26px; }

  footer.footer > .footer-legal {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    order: 9;
    display: grid;
    width: auto;
    max-width: none;
    margin-top: 12px;
    gap: 10px;
    text-align: left;
  }
}

@media (max-width: 340px) {
  .booking-dialog {
    padding-right: 16px;
    padding-left: 16px;
  }

  .booking-eyebrow {
    font-size: 10px;
    letter-spacing: 1px;
  }

  .booking-channels,
  .booking-messenger-block,
  .booking-messenger-options {
    height: auto;
  }

  .booking-messenger-options {
    grid-template-columns: 1fr;
  }

  .booking-channel {
    height: 52px;
    font-size: 14px;
  }
}

/* Compact desktop: preserve the desktop composition down to 1181px. */
@media (min-width: 1181px) and (max-width: 1375px) {
  :root {
    --side: 40px;
  }

  .header {
    padding-left: 40px;
    padding-right: 40px;
    gap: 14px;
  }

  .nav {
    gap: 14px;
  }

  .header-actions {
    gap: 8px;
  }

  .hero-photo,
  .hero-band {
    right: 40px;
    width: auto;
  }

  .hero-mantra {
    right: 64px;
  }

  .hero > .photo-tag {
    right: 40px;
  }

  .statement {
    padding-right: 40px;
    padding-left: 40px;
    grid-template-columns: minmax(0, 1.55fr) 72px minmax(320px, .9fr);
  }

  .facts {
    width: 100%;
  }

  .facts dd {
    width: 55%;
  }

  .services-intro {
    right: 40px;
  }

  .service-layout {
    grid-template-columns: minmax(0, 1fr) 38%;
    gap: 40px;
  }

  .service-image,
  .service-image img {
    width: 100%;
  }

  .service button {
    grid-template-columns: 48px minmax(0, 1fr) 150px 32px;
  }

  .service-meta {
    font-size: 12px;
  }

  .approach {
    padding-right: 40px;
    padding-left: 40px;
    grid-template-columns: minmax(420px, .86fr) minmax(0, 1.14fr);
    gap: 48px;
  }

  .approach figure > img,
  .approach-copy > .lead,
  .principles {
    width: 100%;
  }

  .approach h2 {
    font-size: clamp(42px, 3.35vw, 46px);
    line-height: clamp(52px, 4.08vw, 56px);
  }

  .first-visit,
  .atmosphere,
  .reviews,
  .faq,
  .contact {
    padding-right: 40px;
    padding-left: 40px;
  }

  .visit-intro,
  .atmosphere-intro,
  .reviews-counter,
  .map,
  .footer-phone,
  .footer-address,
  .footer-messengers,
  .disclaimer {
    right: 40px;
  }

  .materials {
    left: 40px;
    width: 60%;
  }

  .atmos-interior {
    right: 40px;
    left: auto;
    width: 26%;
  }

  .atmos-interior figcaption {
    right: 0;
  }

  .touch {
    left: 53%;
    width: 23%;
  }

  .reviews blockquote,
  .reviews-meta,
  .reviews-status {
    left: 144px;
  }

  .reviews-line {
    left: 40px;
    width: calc(100% - 80px);
  }

  .faq {
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
    gap: 48px;
  }

  .accordion {
    width: 100%;
  }

  .contact-copy {
    width: 50%;
  }

  .contact .lead {
    width: 100%;
  }

  .map {
    width: 42%;
  }

  .footer {
    padding-right: 40px;
    padding-left: 40px;
  }

  .footer .logo {
    width: 300px;
  }

  .footer .logo span {
    width: 235px;
  }

  .footer nav {
    left: 360px;
    gap: 14px;
  }
}

.contact-address {
  max-width: 700px;
}

footer.footer .footer-legal {
  position: absolute;
  top: auto;
  right: 64px;
  bottom: 78px;
  left: auto;
  max-width: 536px;
  justify-content: flex-end;
  text-align: right;
}

.footer-legal a {
  text-decoration-color: currentColor;
}

footer.footer .footer-legal a:hover,
footer.footer .footer-legal a:focus-visible {
  color: #fffdf8;
}

@media (max-width: 1180px) {
  footer.footer .footer-legal {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    justify-content: flex-start;
    text-align: left;
  }
}

@media (min-width: 1181px) {
  .hero-address {
    top: 614px;
  }
}

.cookie-notice {
  position: fixed;
  z-index: 20;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: flex-end;
  gap: 24px;
  width: min(560px, calc(100vw - 48px));
  padding: 24px;
  border: 1px solid var(--sand);
  border-radius: 4px;
  background: var(--milk);
  box-shadow: 0 16px 40px rgb(45 40 36 / 18%);
}

.cookie-notice[hidden] {
  display: none;
}

.cookie-notice h2 {
  font: 400 16px/20px Prata, Georgia, serif;
}

.cookie-notice p {
  margin-top: 10px;
  color: var(--walnut);
  font-size: 13px;
  line-height: 20px;
}

.cookie-notice p a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-notice-accept {
  flex: none;
  min-width: 112px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--green);
  border-radius: 4px;
  background: var(--green);
  color: var(--card);
  font: 600 14px/20px Manrope, Arial, sans-serif;
  cursor: pointer;
}

.cookie-notice-accept:hover {
  background: var(--deep);
}

@media (max-width: 600px) {
  .cookie-notice {
    right: 16px;
    bottom: 16px;
    width: calc(100vw - 32px);
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
    padding: 20px;
  }

  .cookie-notice-accept {
    width: 100%;
  }
}

/* Direct subscription link inside the home-page service table. */
.service-link-row {
  display: grid;
  width: 100%;
  height: 112px;
  padding: 0 10px 0 16px;
  grid-template-columns: 56px minmax(0, 1fr) 200px 40px;
  align-items: center;
  border-top: 1px solid var(--sand);
  border-bottom: 1px solid var(--sand);
  color: inherit;
  text-decoration: none;
  transition: background .2s;
}

.service-link-row:hover,
.service-link-row:focus-visible {
  background: var(--beige);
}

.service-link-row:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: -2px;
}

.service-link-arrow {
  text-align: center;
  color: var(--green);
  font: 400 27px/34px Prata, Georgia, serif;
}

@media (min-width: 1181px) {
  .services {
    height: auto;
    min-height: 0;
    padding-bottom: 104px;
  }

  .service-list {
    height: auto;
  }
}

@media (min-width: 1181px) and (max-width: 1375px) {
  .service-link-row {
    grid-template-columns: 48px minmax(0, 1fr) 150px 32px;
  }
}

@media (max-width: 1180px) {
  .service-link-row {
    height: 84px;
    min-height: 84px;
    padding: 0 4px 0 10px;
    grid-template-columns: 42px minmax(0, 1fr) 29px;
  }

  .service-link-arrow {
    font-size: 24px;
    line-height: 30px;
  }
}

/* End */


/* Start:/local/templates/slushaytelo/contact.css?178715636823385*/
.contact-site .nav a[aria-current="page"],
.contact-site .footer nav a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-page {
  background: var(--milk);
}

.contact-page section {
  position: relative;
  overflow: clip;
}

.contact-page h1,
.contact-page h2,
.contact-page h3,
.contact-page p,
.contact-page figure,
.contact-page dl,
.contact-page dd,
.contact-page ol {
  margin: 0;
}

.contact-page h1,
.contact-page h2,
.contact-page h3 {
  font-family: Prata, Georgia, serif;
  font-weight: 400;
}

.contact-page h1 span,
.contact-page h2 span {
  display: block;
}

.contact-page ol {
  padding: 0;
  list-style: none;
}

.contact-kicker {
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: 1px;
}

.contact-channel-phone h3 a {
  white-space: nowrap;
}

.contact-lead {
  color: rgb(45 40 36 / 76%);
  font-size: 17px;
  line-height: 28px;
}

.contact-icon-links {
  display: flex;
  align-items: center;
}

.contact-icon-links a {
  display: grid;
  width: 36px;
  height: 40px;
  place-items: center;
  border-radius: 20px;
}

.contact-icon-links a:hover {
  background: rgb(36 72 58 / 10%);
}

.contact-icon-links img {
  width: 20px;
  height: 20px;
}

.contact-hero,
.contact-channels,
.contact-visit {
  background: var(--milk);
}

.contact-site > main.contact-page > .contact-route {
  --section-bg: var(--beige);
  background: var(--beige);
  color: var(--ink);
}

.contact-closing {
  background: var(--beige);
}

.contact-site > main.contact-page > .contact-message-guide {
  --section-bg: var(--green);
  background: var(--green);
  color: var(--card);
}

.contact-route-diagram figcaption {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.contact-route-diagram .map-route {
  position: absolute;
  display: grid;
  height: 44px;
  place-items: center;
  background: var(--card);
  color: var(--ink);
  font-weight: 600;
  pointer-events: auto;
}

.contact-route-diagram .map-route:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-route-diagram .map-route:focus-visible {
  outline-color: var(--green);
}

@media (min-width: 1440px) {
  .contact-hero {
    height: 687px;
  }

  .contact-hero-media {
    position: absolute;
    inset: 0 0 0 56.666667%;
  }

  .contact-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 51% 50%;
  }

  .contact-hero-image-wash {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 43.333333%;
    height: 190px;
    background: linear-gradient(to bottom, rgb(13 11 10 / 0%), rgb(13 11 10 / 78%));
  }

  .contact-hero-kicker {
    position: absolute;
    top: 52px;
    left: 64px;
    width: 360px;
    color: rgb(45 40 36 / 72%);
  }

  .contact-hero h1 {
    position: absolute;
    top: 124px;
    left: 64px;
    width: 680px;
    font-size: 64px;
    line-height: 74px;
  }

  .contact-hero-lead {
    position: absolute;
    top: 318px;
    left: 64px;
    width: 570px;
  }

  .contact-hero-phone {
    position: absolute;
    top: 438px;
    left: 64px;
    font: 400 38px/48px Prata, Georgia, serif;
  }

  .contact-hero-address {
    position: absolute;
    top: 506px;
    left: 64px;
    width: 650px;
    color: var(--walnut);
    font-size: 15px;
    line-height: 24px;
  }

  .contact-hero-actions {
    position: absolute;
    top: 570px;
    left: 64px;
    display: flex;
    align-items: center;
    gap: 18px;
  }

  .contact-hero-caption {
    position: absolute;
    top: 610px;
    left: 59.444444%;
    width: 430px;
    color: var(--card);
    font-size: 11px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: .8px;
  }

  .contact-channels {
    height: 1170px;
  }

  .contact-channels-kicker {
    position: absolute;
    top: 72px;
    left: 64px;
    color: rgb(45 40 36 / 72%);
  }

  .contact-channels h2 {
    position: absolute;
    top: 118px;
    left: 64px;
    width: 690px;
    font-size: 48px;
    line-height: 58px;
  }

  .contact-channels-intro {
    position: absolute;
    top: 126px;
    right: 64px;
    width: 456px;
  }

  .contact-channel-grid {
    position: absolute;
    top: 294px;
    left: 64px;
    display: grid;
    width: 1312px;
    grid-template-columns: repeat(4, 304px);
    gap: 32px;
  }

  .contact-channel-card {
    position: relative;
    display: flex;
    height: 400px;
    min-width: 0;
    flex-direction: column;
    padding: 28px;
    overflow: clip;
    border: 1px solid var(--sand);
    background: var(--beige);
  }

  .contact-channel-card > :not(.contact-card-mark) {
    position: relative;
    z-index: 1;
  }

  .contact-card-mark {
    position: absolute;
    top: -53px;
    left: 19px;
    width: 432px;
    height: 432px;
    max-width: none;
  }

  .contact-card-mark-max {
    top: -51px;
    left: 19px;
  }

  .contact-card-label {
    color: var(--green);
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    letter-spacing: .8px;
  }

  .contact-card-number {
    margin-top: 16px;
    color: rgb(45 40 36 / 18%);
    font: 400 34px/40px Prata, Georgia, serif;
  }

  .contact-channel-card h3 {
    margin-top: 16px;
    min-height: 48px;
    font-size: 30px;
    line-height: 40px;
  }

  .contact-channel-phone h3 {
    min-height: 40px;
    font-size: 24px;
    line-height: 40px;
    white-space: nowrap;
  }

  .contact-channel-card > p:not(.contact-card-label) {
    margin-top: 16px;
    color: rgb(45 40 36 / 72%);
    font-size: 14px;
    line-height: 20px;
  }

  .contact-card-link {
    margin-top: auto;
    color: var(--green);
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
  }

  .contact-vk,
  .contact-channels-note {
    position: absolute;
    left: 64px;
    display: grid;
    width: 1312px;
    grid-template-columns: 196px 1fr 232px;
    align-items: center;
    padding: 22px 23px;
    border: 1px solid var(--sand);
    font-size: 11px;
    line-height: 17px;
  }

  .contact-vk {
    top: 744px;
    height: 220px;
    grid-template-columns: 370px minmax(0, 1fr) 290px;
    overflow: clip;
    background: var(--beige);
  }

  .contact-channels-note {
    top: 992px;
    height: 112px;
  }

  .contact-channels-note strong {
    color: var(--green);
    letter-spacing: .8px;
  }

  .contact-vk > :not(.contact-vk-mark) {
    position: relative;
    z-index: 1;
  }

  .contact-vk-mark {
    position: absolute;
    top: -88px;
    right: -38px;
    z-index: 0;
    width: 342px;
    height: 342px;
    max-width: none;
    opacity: .09;
    pointer-events: none;
    user-select: none;
  }

  .contact-vk strong {
    color: var(--ink);
    font-family: Prata, Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: 0;
  }

  .contact-vk p {
    width: 760px;
    color: rgb(45 40 36 / 78%);
    font-size: 14px;
    line-height: 22px;
  }

  .contact-vk-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
    text-decoration: none;
  }

  .contact-vk-link span {
    font: 400 21px/18px Prata, Georgia, serif;
  }

  .contact-vk-link:hover,
  .contact-vk-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  .contact-channels-note strong {
    color: var(--green);
    letter-spacing: .8px;
  }

  .contact-channels-note p {
    width: 760px;
    color: rgb(45 40 36 / 78%);
    font-size: 14px;
    line-height: 22px;
  }

  .contact-channels-note span {
    color: rgb(45 40 36 / 72%);
    font-weight: 600;
    letter-spacing: .5px;
  }

  .contact-route {
    height: 1000px;
  }

  .contact-route-diagram {
    position: absolute;
    top: 112px;
    left: 64px;
    width: 556px;
    height: 760px;
    overflow: clip;
  }

  .contact-route-diagram > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .contact-route-diagram .map-route {
    top: 28px;
    left: 28px;
    width: 210px;
    font-size: 12px;
    letter-spacing: .84px;
  }

  .contact-route-copy {
    position: absolute;
    top: 72px;
    left: 720px;
    width: 620px;
  }

  .contact-route-copy > .contact-kicker {
    color: var(--green);
  }

  .contact-route-copy h2 {
    margin-top: 26px;
    font-size: 50px;
    line-height: 60px;
  }

  .contact-route-address {
    margin-top: 28px;
    font-size: 15px;
    line-height: 24px;
  }

  .contact-route-intro {
    width: 600px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 26px;
  }

  .contact-route-button {
    display: flex;
    width: 184px;
    margin: 38px 0 24px;
  }

  .contact-route-details {
    margin-top: 0;
  }

  .contact-route-details > div {
    display: grid;
    min-height: 110px;
    grid-template-columns: 190px 1fr;
    align-items: center;
    padding: 0;
    border-top: 1px solid var(--sand);
  }

  .contact-route-details dt {
    color: var(--green);
    font-size: 11px;
    font-weight: 600;
    line-height: 17px;
    letter-spacing: .7px;
  }

  .contact-route-details dd {
    font-size: 14px;
    line-height: 22px;
  }

  .contact-message-guide {
    height: 720px;
  }

  .contact-message-kicker {
    position: absolute;
    top: 72px;
    left: 64px;
    color: rgb(255 253 248 / 76%);
  }

  .contact-message-guide h2 {
    position: absolute;
    top: 118px;
    left: 64px;
    width: 760px;
    font-size: 48px;
    line-height: 58px;
  }

  .contact-message-intro {
    position: absolute;
    top: 126px;
    right: 64px;
    width: 456px;
    color: rgb(255 253 248 / 76%);
  }

  .contact-guide-grid {
    position: absolute;
    top: 340px;
    left: 64px;
    display: grid;
    width: 1288px;
    grid-template-columns: repeat(4, 304px);
    gap: 24px;
  }

  .contact-guide-grid li {
    height: 300px;
    padding-top: 28px;
    border-top: 1px solid rgb(255 253 248 / 28%);
  }

  .contact-guide-grid span {
    display: block;
    color: rgb(255 253 248 / 42%);
    font: 400 40px/48px Prata, Georgia, serif;
  }

  .contact-guide-grid strong {
    display: block;
    margin-top: 30px;
    color: rgb(255 253 248 / 94%);
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .9px;
  }

  .contact-guide-grid p {
    width: 286px;
    margin-top: 26px;
    color: rgb(255 253 248 / 72%);
    font-size: 15px;
    line-height: 24px;
  }

  .contact-visit {
    display: grid;
    height: 640px;
    grid-template-columns: 1fr 1fr;
  }

  .contact-visit-copy {
    padding: 72px 64px;
  }

  .contact-visit-copy > .contact-kicker {
    color: var(--green);
  }

  .contact-visit h2 {
    margin-top: 26px;
    font-size: 46px;
    line-height: 56px;
  }

  .contact-visit-copy > .contact-lead {
    width: 520px;
    margin-top: 34px;
    font-size: 16px;
    line-height: 26px;
  }

  .contact-address-card {
    width: 560px;
    height: 150px;
    margin-top: 66px;
    padding: 21px 23px;
    border: 1px solid var(--sand);
    background: var(--beige);
  }

  .contact-address-card strong {
    color: var(--green);
    font-size: 11px;
    line-height: 17px;
    letter-spacing: .8px;
  }

  .contact-address-card p {
    margin-top: 12px;
    font: 400 22px/31px Prata, Georgia, serif;
  }

  .contact-visit-list {
    align-self: center;
    padding: 0 64px 0 0;
  }

  .contact-visit-list li {
    display: grid;
    min-height: 150px;
    grid-template-columns: 88px 238px 1fr;
    align-items: center;
    padding: 0;
    border-top: 1px solid var(--sand);
  }

  .contact-visit-list span {
    color: rgb(45 40 36 / 22%);
    font: 400 32px/40px Prata, Georgia, serif;
  }

  .contact-visit-list strong {
    padding-top: 0;
    color: var(--green);
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .75px;
  }

  .contact-visit-list p {
    padding-top: 0;
    color: rgb(45 40 36 / 74%);
    font-size: 14px;
    line-height: 22px;
  }

  .contact-closing {
    height: 520px;
  }

  .contact-closing-kicker {
    position: absolute;
    top: 64px;
    left: 64px;
    color: var(--walnut);
    font-weight: 400;
  }

  .contact-closing h2 {
    position: absolute;
    top: 118px;
    left: 64px;
    width: 900px;
    font-size: 58px;
    line-height: 70px;
  }

  .contact-closing-intro {
    position: absolute;
    top: 286px;
    left: 64px;
    width: 600px;
    color: var(--walnut);
  }

  .contact-closing-actions {
    position: absolute;
    top: 360px;
    left: 64px;
    display: flex;
    align-items: center;
    gap: 18px;
  }

  .contact-closing-phone {
    position: absolute;
    top: 300px;
    right: 64px;
    width: 336px;
  }

  .contact-closing-phone span {
    display: block;
    color: var(--walnut);
    font-size: 14px;
    line-height: 22px;
  }

  .contact-closing-phone a {
    display: block;
    margin-top: 20px;
    font: 400 30px/42px Prata, Georgia, serif;
  }

  .contact-closing-mark {
    position: absolute;
    top: 64px;
    right: 128px;
    width: 64px;
    height: 64px;
  }
}

@media (max-width: 1439px) {
  .contact-page section {
    padding: 56px 24px;
  }

  .contact-page h1,
  .contact-page h2 {
    font-size: clamp(38px, 7vw, 54px);
    line-height: 1.17;
  }

  .contact-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .contact-hero-kicker { order: 1; color: rgb(45 40 36 / 72%); }
  .contact-hero h1 { order: 2; margin-top: 26px; }
  .contact-hero-lead { order: 3; max-width: 620px; margin-top: 32px; }
  .contact-hero-phone { order: 4; margin-top: 32px; font: 400 clamp(28px, 6vw, 38px)/1.25 Prata, Georgia, serif; }
  .contact-hero-address { order: 5; max-width: 680px; margin-top: 18px; color: var(--walnut); font-size: 14px; line-height: 22px; }
  .contact-hero-actions { order: 6; display: flex; align-items: center; gap: 16px; margin-top: 28px; }

  .contact-hero-media {
    order: 7;
    width: calc(100% + 48px);
    height: min(76vw, 620px);
    margin: 44px -24px -56px;
  }

  .contact-hero-media img { width: 100%; height: 100%; object-fit: cover; }
  .contact-hero-image-wash { display: none; }

  .contact-hero-caption {
    z-index: 1;
    order: 8;
    margin: -64px 0 0;
    color: var(--card);
    font-size: 10px;
    font-weight: 600;
    line-height: 17px;
    letter-spacing: .7px;
  }

  .contact-channels h2,
  .contact-message-guide h2,
  .contact-visit h2,
  .contact-closing h2,
  .contact-route h2 {
    margin-top: 24px;
  }

  .contact-channels-intro,
  .contact-message-intro {
    max-width: 600px;
    margin-top: 28px;
  }

  .contact-channel-grid {
    display: grid;
    margin-top: 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .contact-channel-card {
    position: relative;
    display: flex;
    min-height: 340px;
    min-width: 0;
    flex-direction: column;
    padding: 26px;
    overflow: clip;
    border: 1px solid var(--sand);
    background: var(--beige);
  }

  .contact-channel-card > :not(.contact-card-mark) { position: relative; z-index: 1; }
  .contact-card-mark { position: absolute; top: -50px; left: 18px; width: 390px; max-width: none; }
  .contact-card-label { color: var(--green); font-size: 11px; font-weight: 600; letter-spacing: .8px; }
  .contact-card-number { margin-top: 16px; color: rgb(45 40 36 / 18%); font: 400 32px/40px Prata, Georgia, serif; }
  .contact-channel-card h3 { min-height: 48px; margin-top: 18px; font-size: 28px; line-height: 38px; }
  .contact-channel-card > p:not(.contact-card-label) { margin-top: 18px; color: rgb(45 40 36 / 72%); font-size: 14px; line-height: 21px; }
  .contact-card-link { margin-top: auto; padding-top: 26px; color: var(--green); font-weight: 600; }

  .contact-channels-note {
    display: grid;
    margin-top: 28px;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--sand);
  }

  .contact-vk {
    position: relative;
    display: grid;
    margin-top: 28px;
    min-height: 200px;
    grid-template-columns: 280px minmax(0, 1fr) max-content;
    gap: 20px;
    overflow: clip;
    align-items: center;
    padding: 24px;
    border: 1px solid var(--sand);
    background: var(--beige);
  }

  .contact-vk > :not(.contact-vk-mark) { position: relative; z-index: 1; }
  .contact-vk-mark { position: absolute; top: -62px; right: -24px; z-index: 0; width: 290px; height: 290px; max-width: none; opacity: .09; pointer-events: none; user-select: none; }
  .contact-vk strong { color: var(--ink); font-family: Prata, Georgia, serif; font-size: 30px; font-weight: 400; line-height: 40px; letter-spacing: 0; }
  .contact-vk p { color: rgb(45 40 36 / 78%); font-size: 14px; line-height: 22px; }
  .contact-vk-link { display: inline-flex; align-items: center; gap: 12px; color: var(--green); font-weight: 600; text-decoration: none; }
  .contact-vk-link span { font: 400 21px/18px Prata, Georgia, serif; }
  .contact-vk-link:hover, .contact-vk-link:focus-visible { text-decoration: underline; text-underline-offset: 4px; }

  .contact-channels-note strong { color: var(--green); font-size: 11px; letter-spacing: .8px; }
  .contact-channels-note p { max-width: 760px; color: rgb(45 40 36 / 78%); }
  .contact-channels-note span { color: var(--walnut); font-size: 10px; font-weight: 600; letter-spacing: .5px; }

  .contact-route {
    display: grid;
    grid-template-columns: minmax(280px, 556px) minmax(0, 1fr);
    gap: 56px;
  }

  .contact-route-diagram {
    position: relative;
    width: 100%;
    aspect-ratio: 556 / 760;
    overflow: clip;
  }

  .contact-route-diagram > img { width: 100%; height: 100%; }
  .contact-route-diagram .map-route { top: 4%; left: 5%; width: 42%; font-size: 10px; letter-spacing: .7px; }
  .contact-route-copy > .contact-kicker { color: var(--green); }
  .contact-route-address { margin-top: 26px; font-size: 14px; line-height: 22px; }
  .contact-route-intro { margin-top: 24px; }
  .contact-route-button { width: max-content; margin-top: 30px; }
  .contact-route-details { margin-top: 34px; }
  .contact-route-details > div { display: grid; min-height: 86px; grid-template-columns: 130px 1fr; padding-top: 22px; border-top: 1px solid var(--sand); }
  .contact-route-details dt { color: var(--green); font-size: 10px; font-weight: 600; letter-spacing: .7px; }
  .contact-route-details dd { font-size: 14px; line-height: 22px; }

  .contact-message-guide { color: var(--card); }
  .contact-message-kicker { color: rgb(255 253 248 / 76%); }
  .contact-message-intro { color: rgb(255 253 248 / 76%); }
  .contact-guide-grid { display: grid; margin-top: 44px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .contact-guide-grid li { min-height: 260px; padding-top: 24px; border-top: 1px solid rgb(255 253 248 / 28%); }
  .contact-guide-grid span { display: block; color: rgb(255 253 248 / 42%); font: 400 36px/44px Prata, Georgia, serif; }
  .contact-guide-grid strong { display: block; margin-top: 22px; font-size: 11px; letter-spacing: .8px; }
  .contact-guide-grid p { max-width: 286px; margin-top: 22px; color: rgb(255 253 248 / 72%); font-size: 14px; line-height: 22px; }

  .contact-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
  .contact-visit-copy > .contact-kicker { color: var(--green); }
  .contact-visit-copy > .contact-lead { margin-top: 28px; }
  .contact-address-card { margin-top: 38px; padding: 22px; border: 1px solid var(--sand); background: var(--beige); }
  .contact-address-card strong { color: var(--green); font-size: 11px; letter-spacing: .8px; }
  .contact-address-card p { margin-top: 14px; font: 400 20px/30px Prata, Georgia, serif; }
  .contact-visit-list li { display: grid; min-height: 130px; grid-template-columns: 64px minmax(140px, .8fr) 1fr; padding-top: 22px; border-top: 1px solid var(--sand); }
  .contact-visit-list span { color: rgb(45 40 36 / 22%); font: 400 28px/36px Prata, Georgia, serif; }
  .contact-visit-list strong { padding-top: 5px; color: var(--green); font-size: 10px; line-height: 16px; letter-spacing: .7px; }
  .contact-visit-list p { color: rgb(45 40 36 / 74%); font-size: 13px; line-height: 21px; }

  .contact-closing { min-height: 500px; }
  .contact-closing-kicker { color: var(--walnut); }
  .contact-closing-intro { max-width: 600px; margin-top: 28px; color: var(--walnut); }
  .contact-closing-actions { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
  .contact-closing-phone { margin-top: 42px; }
  .contact-closing-phone span { display: block; color: var(--walnut); font-size: 12px; }
  .contact-closing-phone a { display: block; margin-top: 14px; font: 400 28px/40px Prata, Georgia, serif; }
  .contact-closing-mark { position: absolute; top: 56px; right: 24px; width: 52px; height: 52px; }
}

@media (max-width: 760px) {
  .contact-channel-grid,
  .contact-guide-grid,
  .contact-visit,
  .contact-route {
    grid-template-columns: 1fr;
  }

  .contact-vk {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 280px;
    align-items: start;
    padding: 26px;
  }

  .contact-vk-mark { top: 18px; right: -20px; width: 230px; height: 230px; }
  .contact-vk p { max-width: 270px; margin-top: 14px; }
  .contact-vk-link { margin-top: auto; }

  .contact-route-diagram { max-width: 556px; margin: 0 auto; }
  .contact-route-copy { min-width: 0; }
  .contact-visit-list { margin-top: 40px; }
  .contact-visit-list li { grid-template-columns: 52px 1fr; gap: 0 12px; }
  .contact-visit-list p { grid-column: 2; margin-top: 12px; padding-bottom: 24px; }
}

@media (max-width: 420px) {
  .contact-page section { padding: 48px 18px; }
  .contact-page h1, .contact-page h2 { font-size: 36px; line-height: 44px; }
  .contact-lead { font-size: 15px; line-height: 24px; }
  .contact-hero-media { width: calc(100% + 36px); margin-right: -18px; margin-left: -18px; }
  .contact-hero-actions, .contact-closing-actions { flex-wrap: wrap; }
  .contact-channel-card { min-height: 330px; padding: 24px; }
  .contact-route-details > div { grid-template-columns: 105px 1fr; }
  .contact-closing-mark { width: 44px; height: 44px; }
}

@media (min-width: 1440px) {
  .contact-hero-kicker { top: 52px; left: 64px; color: var(--ink); font: 600 12px/18px Manrope, Arial, sans-serif; letter-spacing: 1.44px; }
}

@media (max-width: 1439px) {
  .contact-hero { padding-top: 40px; }
  .contact-hero-kicker { color: var(--ink); font: 600 12px/18px Manrope, Arial, sans-serif; letter-spacing: 1.44px; }
  .contact-hero h1 { margin-top: 42px; }
}
/* Mobile contact-route spacing: preserve a readable rhythm below the map. */
@media (max-width: 760px) {
  .contact-route { gap: 72px; }
  .contact-route-copy { display: flex; min-width: 0; flex-direction: column; }
  .contact-route-copy h2 { margin-top: 32px; }
  .contact-route-address { margin-top: 32px; }
  .contact-route-intro { margin-top: 32px; }
  .contact-route-button { align-self: flex-start; margin-top: 38px; margin-bottom: 32px; }
  .contact-route-details { margin-top: 64px; }
  .contact-route-details > div { min-height: 0; align-items: start; padding: 24px 0; }
}

@media (max-width: 420px) {
  .contact-route { gap: 64px; }
  .contact-route-details > div { grid-template-columns: minmax(100px, 34%) minmax(0, 1fr); column-gap: 12px; }
}
/* Mobile message-guide rhythm: separate the introduction from the step list. */
@media (max-width: 760px) {
  .contact-message-intro + .contact-guide-grid { margin-top: 76px; }
}

/* End */


/* Start:/local/templates/slushaytelo/template_styles.css?1786976277105*/
/* Основные стили шаблона подключаются из styles.css в header.php. */

/* End */
/* /local/templates/slushaytelo/styles.css?178715940048675 */
/* /local/templates/slushaytelo/contact.css?178715636823385 */
/* /local/templates/slushaytelo/template_styles.css?1786976277105 */
