.hero{position:relative;background:#eadccf;height:805px;overflow:visible}.hero-art{position:absolute;inset:0;background:url('../images/common/reference-desktop.png') center 0 / 2560px auto no-repeat;clip-path:ellipse(95% 100% at 50% 0)}.site-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding-top:12px}.logo{width:220px;flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:45px;color:#fff;font-size:16px}.header-phone{background:#edba56;border-radius:25px;padding:2px 32px}.menu-toggle{display:none}.down{position:absolute;z-index:3;bottom:-35px;left:calc(50% - 32px);width:64px;height:75px;display:grid;place-items:center;background:#ef78f4;color:#fff;border-radius:50%;font-size:28px}.about{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:40px;padding-block:130px 70px}.about-photo{width:160%;max-width:none;margin-left:-10%}.advantages{padding:60px 0 90px}.advantages h2,.services h2,.gallery h2,.reviews h2,.contacts h2{text-align:center}.advantages .cards{margin-top:95px}.services{text-align:center;padding:100px 0 125px}.services .intro{margin-bottom:42px}.tabs-wrap{display:flex;align-items:center;max-width:850px;margin:0 auto 30px;gap:16px}.tabs{display:flex;overflow-x:auto;scrollbar-width:none;flex:1}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;border:0;background:none;padding:16px 14px;color:#b5b5b5;font-size:15px;border-bottom:2px solid #eee}.tabs button[aria-selected=true]{color:#444;border-bottom-color:#a9c7ff}.tab-arrow{border:0;background:none;color:#888;font-size:32px;padding:0 8px}.service-photo,.service-image-missing{width:400px;max-width:100%;margin:0 auto 22px}.service-image-missing{aspect-ratio:1.5;display:grid;place-items:center;background:#fafafa;color:#999;font-size:15px}#service-title{font:700 21px "Amatic SC",Arial,sans-serif;margin-bottom:28px}.service-note{font-size:14px;margin-top:20px}.gallery{padding:80px 6px 55px;text-align:center}.gallery>p{margin-bottom:35px}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.gallery-photo{border-radius:22px}.reviews{padding:95px 0 120px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}blockquote{margin:0 0 28px;background:#f4f4f4;border-radius:22px;padding:32px;min-height:300px;position:relative;font-size:16px}blockquote:after{content:'';position:absolute;bottom:-17px;left:40px;border-top:20px solid #f4f4f4;border-inline:20px solid transparent}blockquote h3{font-size:26px}.review-author{display:flex;align-items:center;gap:15px;font-size:14px}.review-author>span{font-size:52px}.stars{color:#ff8529;font-size:23px;letter-spacing:2px}.contacts{padding-top:120px}.contacts .cards{margin:65px 0 70px;text-align:center}.contacts .card{padding:25px 20px}.contacts .emoji{position:static;display:block}.contacts h3{color:#f49465;margin:8px 0}.vk-icon{display:inline-grid;place-items:center;background:#2787f5;width:70px;height:70px;border-radius:50%;font-size:28px;color:white;font-weight:bold}.map{border-radius:23px}.map-link{display:block}@media(min-width:701px) and (max-width:1200px){.site-header nav{gap:20px;font-size:13px}.logo{width:160px}.header-phone{padding-inline:15px}.about-photo{width:130%}.cards,.review-grid{gap:28px}}@media(max-width:700px){.hero{height:500px;background:#e4d5c3}.hero-art{background-image:url('../images/common/reference-mobile.png');background-size:386px auto;background-position:center top;clip-path:ellipse(110% 100% at 50% 0)}.site-header{width:100%;padding:12px 16px;justify-content:flex-end}.logo{display:none}.menu-toggle{display:block;border:0;border-radius:50%;width:46px;height:46px;background:#f5eee0;color:#e9ad76;font-size:22px}.site-header nav{display:none;position:absolute;top:68px;right:16px;width:230px;background:#fff;color:#666;padding:24px;box-shadow:0 8px 40px #0002;border-radius:15px;flex-direction:column;align-items:stretch;gap:20px;font-size:16px}.site-header nav.open{display:flex}.header-phone{text-align:center;padding:8px}.down{width:64px;height:72px;bottom:-32px}.about{display:flex;flex-direction:column;gap:24px;padding:90px 0 45px;overflow:hidden}.about>div:first-child{width:100%}.about-photo{width:125%;margin:0 -12.5%;flex-shrink:0}.advantages{padding:30px 0 50px}.advantages .cards{margin-top:80px}.advantages .intro{text-align:center}.services{padding:55px 0 90px}.services .intro br{display:none}.tabs-wrap{gap:0;margin-bottom:24px;border:1px solid #eee}.tabs button{min-width:100%;padding:13px 0;font-size:15px;border:0}.tabs button[aria-selected=true]{color:#9bbbfa}.tab-arrow{font-size:29px;padding:0 14px}.service-photo,.service-image-missing{width:100%}#service-title{font-size:20px}.gallery{padding:75px 7% 25px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-photo{border-radius:21px}.reviews{padding:60px 0}.review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding-bottom:20px}.review-grid>article{flex:0 0 100%;scroll-snap-align:start}blockquote{min-height:300px;padding:30px}.review-author{padding-left:20px}.contacts{padding-top:75px}.contacts .cards{margin:35px 0 45px;gap:24px}.contacts .card{padding:25px 15px}.map{aspect-ratio:1.05!important;background-size:auto 2050%!important;background-position:50% 97.4%!important}}/* Keep screenshot-derived artwork within its layout until original assets arrive. */
.about{overflow:hidden}.about-photo{width:100%;margin:0}.hero-art{top:80px;background-position:center -80px}.hero{background:#bc995e}.tabs{min-width:0}.tabs button{flex-shrink:0}.tabs-wrap{position:relative}
@media(max-width:700px){.hero-art{top:0;background-position:center top;background-size:max(386px,100vw) auto}.hero{height:max(500px,129.5vw)}.about-photo{width:115%;margin-inline:-7.5%}.tabs button{white-space:normal;flex-basis:100%;padding-inline:8px}}
.hero{background:linear-gradient(#bc995e 80px,#fff 80px)}
@media(max-width:700px){.hero{background:#fff}}

/* Original supplied images and Amatic SC typography. */
.hero{height:805px;background:#fff}.hero-art{inset:0;background:url('../images/home/hero-pastel.png') center/cover no-repeat;clip-path:ellipse(95% 100% at 50% 0)}
.site-header nav{color:#555}.hero-copy{position:relative;z-index:1;text-align:center;width:min(640px,90%);margin:130px auto 0}.hero-copy h1{font:700 clamp(40px,4.9vw,70px)/1.2 "Amatic SC",Arial,sans-serif;color:#df68dd;margin:0 0 32px}.hero-copy p{font-size:23px;color:#666}.about-photo-frame{position:relative;padding:32px 20px;background:#ffc767;border-radius:38% 18% 35% 20%}.about-photo{display:block;width:100%;height:auto;margin:0;border-radius:24px;transform:rotate(7deg)}.service-photo{display:block;aspect-ratio:3/2;object-fit:contain;background:#fff}
@media(max-width:700px){.hero{height:510px}.hero-art{inset:0;background-image:url('../images/home/hero-pastel.png');background-size:auto 100%;background-position:center;clip-path:ellipse(110% 100% at 50% 0)}.hero-copy{margin:70px auto 0}.hero-copy h1{font-size:40px}.hero-copy p{font-size:18px}.about-photo-frame{width:100%;padding:22px 12px}.about-photo{width:100%;margin:0}.site-header nav{background:#fff}}
/* Rounded paint strokes beneath the live banner text. */
.hero-copy{margin-top:85px;width:min(640px,92%)}
.hero-copy h1,.hero-copy p{position:relative;isolation:isolate}
.hero-copy h1{padding:40px 60px 35px;margin:0;line-height:1.18}
.hero-copy h1::before,.hero-copy p::before{content:"";position:absolute;inset:0;z-index:-1;background:url('../images/home/brush-stroke.svg') center/100% 100% no-repeat;pointer-events:none}
.hero-copy p{padding:30px 35px 35px;margin:-3px -10px 0;line-height:1.5}
.hero-copy p::before{opacity:.62;transform:rotate(1deg)}
@media(max-width:700px){
  .hero-copy{margin-top:18px}
  .hero-copy h1{padding:28px 30px 24px}
  .hero-copy p{padding:22px 12px 26px;margin-inline:-3px;font-size:17px}
}
/* Slightly larger section headings and service names. */
.about h2,.advantages h2,.services h2,.gallery h2{font-size:40px}
#service-title{font-size:25px}
@media(max-width:700px){
  .about h2,.advantages h2,.services h2,.gallery h2{font-size:34px}
  #service-title{font-size:24px}
}

/* Text-based brand mark. */
.logo{background:#faf5ec;border-radius:999px;text-align:center;padding:5px 18px;line-height:1}
.logo-word{display:inline-flex;align-items:center;font-family:"Amatic SC",Arial,sans-serif;font-size:46px;font-weight:700;letter-spacing:1px;white-space:nowrap}
.logo-word span{color:var(--letter-color)}
@media(min-width:701px) and (max-width:1200px){.logo-word{font-size:36px}.logo{padding-inline:12px}}

/* Scalloped lavender separator between reviews and contacts. */
.reviews-divider{height:260px;background:#eedcff}
.reviews-divider::before,.reviews-divider::after{
  left:0;width:100%;height:90px;
  background:radial-gradient(ellipse 90px 90px at 50% 0,#fff 98%,transparent 100%) 12px 0/180px 90px repeat-x;
}
.reviews-divider::before{top:0}
.reviews-divider::after{
  display:block;top:auto;bottom:0;transform:none;
  background:radial-gradient(ellipse 90px 90px at 50% 100%,#fff 98%,transparent 100%) 26px 0/180px 90px repeat-x;
}
@media(max-width:700px){
  .reviews-divider{height:130px}
  .reviews-divider::before,.reviews-divider::after{height:45px;background-size:90px 45px}
  .reviews-divider::before{background-image:radial-gradient(ellipse 45px 45px at 50% 0,#fff 98%,transparent 100%);background-position:6px 0}
  .reviews-divider::after{background-image:radial-gradient(ellipse 45px 45px at 50% 100%,#fff 98%,transparent 100%);background-position:13px 0}
}
/* Reviews: three cards on desktop, one on a phone. */
.review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:60px;scrollbar-width:none;padding-bottom:20px}
.review-grid::-webkit-scrollbar{display:none}
.review-grid>article{flex:0 0 calc((100% - 120px)/3);min-width:0;scroll-snap-align:start}
.review-grid blockquote{min-height:340px}
.review-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:45px}
.review-controls button{border:0;background:none;color:#777}
.review-prev,.review-next{font-size:30px;padding:4px 12px}
.review-dots{display:flex;align-items:center;gap:0}
.review-dots button{width:24px;height:32px;padding:0;position:relative}
.review-dots button::after{content:"";display:block;width:8px;height:8px;border-radius:50%;background:#d0d0d0;margin:auto}
.review-dots button[aria-current="true"]::after{background:#ff8529}
.review-pause{font-size:13px;padding:10px 5px}
@media(min-width:701px) and (max-width:1200px){.review-grid{gap:28px}.review-grid>article{flex-basis:calc((100% - 56px)/3)}.review-grid blockquote{padding:24px;min-height:400px}}
@media(max-width:700px){.review-grid{gap:24px}.review-grid>article{flex-basis:100%}.review-grid blockquote{min-height:300px}.review-controls{gap:5px;flex-wrap:wrap;margin-top:25px}}

.review-grid{overflow-anchor:none}
.review-grid.is-sliding{scroll-snap-type:none;scroll-behavior:auto;pointer-events:none}
