.o7-service,.o7-service *{box-sizing:border-box}
.o7-service{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);max-width:1168px;width:calc(100% - 48px);margin:48px auto 64px;overflow:hidden;border:1px solid #e9d9c9;border-radius:32px;background:#f8ecdf;color:#25211e;font-family:Manrope,Arial,sans-serif;box-shadow:0 18px 55px #6437140a;text-align:left}
.o7-service:before{content:"";position:absolute;inset:-35%;z-index:-1;background:radial-gradient(ellipse at 15% 25%,#fffaf2 0%,transparent 50%),radial-gradient(ellipse at 60% 60%,#f6cda5 0%,transparent 48%),linear-gradient(115deg,#f9f4ea,#f7e3ce 55%,#edc49f);animation:o7-service-drift 18s ease-in-out infinite alternate;will-change:transform}
.o7-service__copy{padding:40px 0 36px 40px;align-self:center;z-index:1}
.o7-service__badge{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.055em;text-transform:uppercase;color:#78421f}
.o7-service__badge>span{color:#e46a21;font-size:20px}
.o7-service h2{font-size:clamp(28px,3.15vw,42px);line-height:1.13;letter-spacing:-.045em;font-weight:750;color:#25211e;margin:15px 0 18px;max-width:610px;overflow-wrap:anywhere}
.o7-service .o7-service__text{font-size:18px;line-height:1.7;color:#62564b;margin:0;max-width:610px;overflow-wrap:anywhere}
.o7-service__bottom{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.o7-service__price{display:flex;flex-direction:column;gap:4px;max-width:220px;overflow-wrap:anywhere}
.o7-service__price strong{font-size:32px;line-height:1.1;letter-spacing:-.04em;color:#28201b}
.o7-service__price span{font-size:15px;line-height:1.5;color:#77614f}
.o7-service a.o7-service__button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 20px;min-height:55px;border:1px solid #292522;border-radius:13px;background:#292522;color:#fffaf3;font-size:16px;line-height:1.45;font-weight:700;text-decoration:none;transition:background .25s ease,box-shadow .25s ease,transform .25s ease;max-width:100%;overflow-wrap:anywhere}
.o7-service a.o7-service__button:hover{background:#493326;box-shadow:0 7px 20px #6e3c1722;transform:translateY(-2px)}
.o7-service a.o7-service__button:focus-visible{outline:3px solid #d56a27;outline-offset:4px}
.o7-service .o7-service__note{font-size:15px;line-height:1.65;color:#7a6655;margin:20px 0 0;max-width:570px;overflow-wrap:anywhere}
.o7-service__visual{position:relative;align-self:stretch;overflow:hidden;min-height:380px;mask-image:linear-gradient(to right,transparent 0%,#000 12%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%)}
.o7-service__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:49% 50%;position:absolute;inset:0;mix-blend-mode:multiply}
@keyframes o7-service-drift{from{transform:translate3d(-2%,-1%,0) rotate(-3deg)}to{transform:translate3d(2%,1%,0) rotate(3deg)}}
@media(max-width:900px){.o7-service{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.o7-service__copy{padding:30px 0 30px 28px}.o7-service h2{font-size:32px}.o7-service .o7-service__text{font-size:16px}.o7-service__bottom{gap:18px}.o7-service__visual{min-height:400px}}
@media(max-width:640px){.o7-service{width:calc(100% - 32px);margin:32px auto 40px;border-radius:24px;grid-template-columns:minmax(0,1fr)}.o7-service__copy{padding:27px 24px 0}.o7-service h2{font-size:31px;line-height:1.16;margin:13px 0 16px}.o7-service__badge{font-size:10px;letter-spacing:.035em}.o7-service .o7-service__text{font-size:16px;line-height:1.65}.o7-service__bottom{align-items:stretch;gap:20px;margin-top:23px}.o7-service__price strong{font-size:30px}.o7-service a.o7-service__button{width:100%;justify-content:space-between;font-size:16px}.o7-service .o7-service__note{font-size:15px;margin-top:17px}.o7-service__visual{height:260px;min-height:0;margin-top:14px;mask-image:linear-gradient(to bottom,transparent,#000 14%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%)}.o7-service__visual img{object-position:50% 44%}}
@media(prefers-reduced-motion:reduce){.o7-service:before{animation:none;will-change:auto}.o7-service a.o7-service__button{transition:none}.o7-service a.o7-service__button:hover{transform:none}}
/* Keep banner reading text at the same size on desktop and phone. */
.o7-service .o7-service__text{font-size:18px}
