

/* 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/template_styles.css?1786976277105*/
/* Основные стили шаблона подключаются из styles.css в header.php. */

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