:root {
  --tiffany:#81D8D0;
  --mint:#C8E5E2;
  --bg:#EBF5F4;
  --ink:#16302C;
  --muted:#44615D;
  --olive:#1B5A57;
  --deep:#0E3938;
  --sand:#EFE9DE;
  --line:rgba(22,48,44,.14);
  --radius:28px;
  --shadow:0 1px 2px rgba(22,48,44,.04),0 16px 42px -24px rgba(22,48,44,.24)
}
/* Reveal the selected language together, avoiding a Russian-to-English layout jump. */
html.i18n-pending body { display:none }
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Manrope,system-ui,sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer
}
img {
  max-width:100%;
  display:block
}
svg {
  width:100%;
  height:100%
}
p {
  margin:0 0 20px;
  color:var(--muted)
}
h1,h2,h3 {
  margin:0;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.12
}
h1 {
  font-size:clamp(48px,5.3vw,76px);
  font-weight:300;
  line-height:1.06
}
h2 {
  font-size:clamp(34px,3.5vw,49px);
  font-weight:300
}
h3 {
  font-size:24px;
  line-height:1.3
}
.handwritten {
  font-family:Caveat,cursive;
  font-weight:500;
  color:var(--olive);
  letter-spacing:-.025em;
  font-size:1.22em;
  line-height:1.02
}
.container {
  width:calc(100% - 80px);
  max-width:1320px;
  margin-inline:auto
}
.section {
  padding-block:100px
}
.eyebrow {
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--olive);
  margin:0 0 24px;
  display:flex;
  align-items:center;
  gap:10px
}
.status-dot {
  width:7px;
  height:7px;
  background:var(--olive);
  border-radius:50%;
  box-shadow:0 0 0 5px #1b5a5709
}
.btn {
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  border-radius:999px;
  padding:17px 25px;
  background:var(--olive);
  color:#fff;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:var(--shadow);
  text-align:center
}
.btn>span[aria-hidden] {
  font-size:22px;
  line-height:1
}
.btn:hover {
  background:var(--deep);
  transform:translateY(-2px);
  box-shadow:0 10px 28px #16302c24
}
.btn-small {
  padding:13px 20px;
  font-size:12px;
  gap:16px
}
.btn-large {
  padding:20px 27px
}
.btn-white {
  background:white;
  color:var(--olive)
}
.btn-white:hover {
  background:var(--bg);
  color:var(--deep)
}
a:focus-visible,button:focus-visible {
  outline:3px solid #b49854;
  outline-offset:5px
}
.skip {
  position:fixed;
  top:-100px;
  z-index:100;
  background:white;
  padding:10px
}
.skip:focus {
  top:10px
}
.nav {
  position:sticky;
  top:0;
  background:#ebf5f4ed;
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  z-index:20
}
.nav-inner {
  min-height:100px;
  display:flex;
  align-items:center;
  gap:34px
}
.brand {
  flex:none
}
.brand img {
  width:132px;
  height:auto
}
.nav-links {
  display:flex;
  gap:28px;
  margin-left:auto;
  font-size:13px
}
.nav-links a:hover,.nav-phone:hover {
  color:#338f87
}
.nav-phone {
  font-size:14px;
  font-weight:600;
  white-space:nowrap
}
.menu-toggle {
  display:none
}
.hero {
  background:radial-gradient(ellipse at 80% 10%,#c8e5e27a,transparent 60%);
  padding-top:64px
}
.hero-grid {
  display:grid;
  grid-template-columns:1.03fr 1fr;
  gap:56px;
  align-items:center
}
.hero-copy {
  padding:10px 0 20px
}
.hero h1 .handwritten {
  display:block;
  margin:6px 0 0;
  max-width:580px
}
.hero-lead {
  max-width:480px;
  margin:29px 0 30px;
  font-size:17px;
  line-height:1.65
}
.hero-lead strong {
  font-weight:600
}
.button-note {
  font-size:12px;
  margin-top:13px;
  margin-bottom:30px
}
.hero-points {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  font-size:12px;
  color:var(--muted)
}
.hero-points .benefit-icon {
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--mint);
  font-style:normal;
  color:var(--olive);
  margin-right:6px;
  vertical-align:middle
}
.hero-visual {
  position:relative;
  padding:0 0 27px 12px
}
.hero-photo {
  width:100%;
  height:565px;
  object-fit:cover;
  object-position:54% center;
  border-radius:160px 28px 28px 28px
}
.photo-note {
  position:absolute;
  left:-14px;
  top:35px;
  display:flex;
  align-items:center;
  gap:12px;
  background:white;
  border:1px solid #fff9;
  box-shadow:var(--shadow);
  padding:17px 22px;
  border-radius:18px;
  font-size:13px;
  transform:rotate(-4deg)
}
.sparkle {
  font-size:33px;
  line-height:1;
  color:var(--olive)
}
.photo-note small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:3px
}
.equipment-note {
  position:absolute;
  right:22px;
  bottom:56px;
  background:#fffffff2;
  backdrop-filter:blur(8px);
  padding:14px 20px;
  border-radius:16px
}
.equipment-note>span {
  display:block;
  font-size:12px;
  color:var(--muted)
}
.equipment-note strong {
  font-size:22px;
  letter-spacing:-.04em;
  color:#202520;
  position:relative;
  display:inline-block;
  line-height:1.6
}
.yellow-line {
  display:block;
  background:#f7d234;
  height:4px;
  width:100%;
  position:absolute;
  bottom:0
}
.photo-label {
  position:absolute;
  bottom:0;
  right:0;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.02em
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:34px 0;
  border-bottom:1px solid var(--line);
  margin-top:45px;
  font-size:12px;
  letter-spacing:.12em;
  color:var(--olive);
  font-weight:600;
  flex-wrap:wrap
}
.tiny-spark {
  font-size:23px;
  font-weight:400
}
.intro-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px
}
.intro h2 .handwritten {
  display:inline-block;
  margin-top:8px
}
.intro-text {
  padding-top:30px;
  font-size:16px
}
.intro-text p:last-child {
  margin-bottom:0
}
.services {
  padding-top:5px
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:80px;
  margin-bottom:42px
}
.section-heading>p {
  font-size:16px;
  max-width:410px;
  margin-bottom:4px
}
.section-heading h2 .handwritten {
  display:inline-block;
  margin-top:8px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.service-card {
  border-radius:var(--radius);
  background:white;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column
}
.service-card>img {
  width:100%;
  height:240px;
  object-fit:cover
}
.service-content {
  padding:29px 28px;
  flex:1;
  display:flex;
  flex-direction:column
}
.card-number {
  font-size:12px;
  letter-spacing:.13em;
  color:var(--muted);
  margin-bottom:15px
}
.service-content h3 {
  font-size:25px;
  margin-bottom:16px
}
.service-content p {
  font-size:16px;
  line-height:1.75;
  margin-bottom:30px
}
.text-link {
  font-size:14px;
  font-weight:700;
  color:var(--olive);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:auto
}
.text-link>span[aria-hidden] {
  font-size:22px;
  font-weight:400
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.auto-strip {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:24px;
  padding:25px 30px;
  border:1px solid var(--line);
  border-radius:22px
}
.auto-icon {
  width:46px;
  height:46px;
  flex:none;
  color:var(--olive)
}
.auto-strip h3 {
  font-size:19px;
  margin-bottom:5px
}
.auto-strip p {
  font-size:14px;
  margin:0
}
.auto-strip .text-link {
  margin-left:auto;
  margin-top:0;
  flex:none
}
.care {
  background:#dcefeb;
  padding-bottom:70px
}
.care-grid {
  display:grid;
  grid-template-columns:1fr 1.03fr;
  gap:75px;
  align-items:center
}
.care-image {
  position:relative
}
.care-image img {
  width:100%;
  height:470px;
  object-fit:cover;
  border-radius:var(--radius)
}
.image-caption {
  position:absolute;
  left:22px;
  bottom:22px;
  background:#fffef7f2;
  border-radius:999px;
  padding:10px 20px;
  font-family:Caveat,cursive;
  font-size:26px;
  line-height:1.3;
  transform:rotate(-3deg);
  color:var(--olive);
  display:flex;
  align-items:center;
  max-width:calc(100% - 30px)
}
.image-caption span {
  margin-right:8px
}
.steps {
  list-style:none;
  padding:0;
  margin:0
}
.steps li {
  display:flex;
  gap:25px;
  padding:27px 0;
  border-bottom:1px solid var(--line)
}
.steps li:first-child {
  padding-top:0
}
.steps li:last-child {
  border-bottom:0;
  padding-bottom:0
}
.step-number {
  font-size:13px;
  color:var(--olive);
  border:1px solid #1b5a5733;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:50%;
  flex:none
}
.steps h3 {
  font-size:22px;
  margin:4px 0 12px
}
.steps p {
  font-size:16px;
  margin:0
}
.details-note {
  margin-top:36px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:22px 28px;
  border:1px solid #1b5a5726;
  border-radius:18px
}
.details-note>span {
  font-size:29px;
  color:var(--olive)
}
.details-note p {
  font-size:16px;
  margin:0
}
.details-note strong {
  font-weight:600
}
.result-line {
  font-size:20px;
  line-height:1.8;
  margin:45px 0 0;
  text-align:center;
  color:var(--ink)
}
.result-line .handwritten {
  font-size:1.6em;
  white-space:nowrap
}
.stains-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:110px;
  align-items:center
}
.stains h2 {
  margin-bottom:30px
}
.stains p:not(.eyebrow) {
  font-size:16px
}
.stain-tags {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:24px 0
}
.stain-tags>span {
  font-size:12px;
  padding:6px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--olive)
}
.expectations {
  padding:38px 40px;
  background:var(--sand);
  border-radius:30px 30px 90px 30px
}
.expectations>.handwritten {
  font-size:35px;
  display:block;
  margin-bottom:24px
}
.expectations h3 {
  font-size:25px;
  margin-bottom:25px
}
.expectations p:last-child {
  margin-bottom:0
}
.estimate {
  padding-top:10px
}
.estimate-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:start
}
.estimate-copy h2 {
  margin-bottom:30px
}
.estimate-copy>p:not(.eyebrow) {
  font-size:16px
}
.time-panel {
  margin-top:30px;
  padding-top:25px;
  border-top:1px solid var(--line)
}
.time-panel h3 {
  font-size:17px;
  margin-bottom:20px
}
.time-panel>div {
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px dashed var(--line);
  padding:13px 0;
  font-size:15px;
  color:var(--muted)
}
.time-panel strong {
  font-size:16px;
  font-weight:600;
  color:var(--ink);
  white-space:nowrap
}
.time-panel>p {
  font-size:14px;
  margin:15px 0 0
}
.quote-panel {
  padding:38px;
  background:white;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow)
}
.quote-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:var(--mint);
  color:var(--olive);
  border-radius:50%;
  font-size:25px;
  margin-bottom:25px
}
.quote-panel h3 {
  font-size:29px;
  margin-bottom:15px
}
.quote-panel>p {
  font-size:16px
}
.item-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:25px 0 18px
}
.item-options button {
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 12px;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  font-size:14px;
  min-height:48px;
  transition:background .18s, border-color .18s, transform .18s;
  line-height:1.5
}
.item-options button>span[aria-hidden] {
  font-size:17px;
  color:var(--olive)
}
.item-options button:hover {
  background:var(--bg)
}
.item-options button[aria-pressed=true] {
  background:var(--mint);
  border-color:#81bdb5;
  font-weight:700
}
.quote-panel .selection-note {
  font-size:14px;
  min-height:44px;
  margin-bottom:14px
}
.quote-panel .btn {
  width:100%;
  gap:12px;
  font-size:14px;
  min-height:56px
}
.quote-footer {
  display:flex;
  align-items:center;
  gap:9px;
  justify-content:center;
  color:var(--muted);
  font-size:14px;
  margin-top:17px;
  flex-wrap:wrap;
  text-align:center
}
.quote-footer span {
  color:var(--olive)
}
.aftercare {
  background:#f7faf8
}
.aftercare-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px
}
.drying {
  position:relative;
  padding-right:70px;
  border-right:1px solid var(--line)
}
.line-icon {
  position:absolute;
  right:50px;
  top:-5px;
  width:49px;
  height:49px;
  color:var(--olive);
  pointer-events:none
}
.aftercare h2 {
  margin-bottom:30px
}
.aftercare p:not(.eyebrow) {
  font-size:16px
}
.checklist {
  margin:0;
  padding:0;
  list-style:none
}
.checklist li {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:16px;
  color:var(--muted)
}
.checklist li:last-child {
  border:0
}
.checklist li>span[aria-hidden] {
  color:var(--olive);
  flex:none;
  font-size:15px
}
.final-cta {
  background:var(--olive);
  color:white;
  text-align:center;
  padding:85px 0 80px;
  position:relative;
  overflow:hidden
}
.final-cta:before,.final-cta:after {
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  border:1px solid #ffffff14;
  border-radius:50%;
  pointer-events:none
}
.final-cta:before {
  left:-270px;
  top:-90px
}
.final-cta:after {
  right:-290px;
  bottom:-230px
}
.final-cta .eyebrow {
  color:#bde1db;
  justify-content:center;
  margin-bottom:23px
}
.final-cta h2 {
  font-size:clamp(33px,3.8vw,53px);
  line-height:1.18
}
.final-cta .handwritten {
  color:var(--tiffany);
  font-size:1.4em;
  line-height:1.1
}
.final-cta p:not(.eyebrow) {
  font-size:16px;
  color:#d6e7e3;
  margin:27px 0 32px
}
.final-phone {
  display:block;
  font-size:13px;
  margin-top:21px;
  color:#e3efec
}
.final-spark {
  display:block;
  font-size:47px;
  color:var(--tiffany);
  line-height:1;
  margin-bottom:25px
}
.footer-main {
  display:flex;
  align-items:center;
  gap:45px;
  padding:45px 0
}
.footer-main .brand img {
  width:115px
}
.footer-main>p {
  font-size:14px;
  margin:0
}
.footer-main>div {
  margin-left:auto;
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:14px;
  color:var(--muted)
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding:20px 0 26px;
  font-size:12px;
  color:var(--muted)
}
.mobile-contact {
  display:none
}
@media(min-width:1500px) {
  .hero-photo {
    height:620px
  }
  .hero-grid {
    gap:80px
  }
}
@media(max-width:1150px) {
  .container {
    width:calc(100% - 56px)
  }
  .nav-inner {
    gap:20px
  }
  .nav-links {
    gap:19px;
    font-size:12px
  }
  .nav-phone {
    display:none
  }
  .hero-grid {
    gap:36px
  }
  .hero h1 {
    font-size:58px
  }
  .hero-photo {
    height:540px
  }
  .hero-visual {
    padding-left:0
  }
  .photo-note {
    left:-10px;
    padding:14px
  }
  .hero-lead {
    font-size:17px;
    line-height:1.65
  }
  .intro-grid,.stains-grid {
    gap:65px
  }
  .care-grid,.estimate-grid,.aftercare-grid {
    gap:45px
  }
  .section-heading {
    gap:45px
  }
  .service-content {
    padding:24px
  }
  .service-card>img {
    height:210px
  }
  .quote-panel {
    padding:30px
  }
  .result-line .handwritten {
    white-space:normal
  }
}
@media(max-width:800px) {
  .container {
    width:calc(100% - 40px)
  }
  .section {
    padding-block:65px
  }
  .nav-inner {
    min-height:80px;
    gap:18px
  }
  .brand img {
    width:112px
  }
  .nav-links {
    gap:15px;
    font-size:12px
  }
  .nav-cta {
    font-size:14px;
    padding:12px 15px;
    gap:8px;
    min-height:44px;
    flex-shrink:0
  }
  .hero {
    padding-top:38px
  }
  .hero-grid {
    gap:25px;
    grid-template-columns:1.05fr .95fr
  }
  .hero h1 {
    font-size:44px
  }
  .hero-lead {
    font-size:17px;
    margin:22px 0;
    line-height:1.65
  }
  .hero-copy .btn {
    padding:16px;
    font-size:14px;
    gap:8px;
    min-height:56px
  }
  .hero .eyebrow {
    font-size:12px
  }
  .hero-photo {
    height:470px;
    border-top-left-radius:100px
  }
  .photo-note {
    font-size:12px;
    padding:10px;
    gap:6px;
    left:-8px;
    top:20px
  }
  .photo-note small {
    font-size:12px
  }
  .sparkle {
    font-size:23px
  }
  .equipment-note {
    right:13px;
    padding:10px 13px
  }
  .equipment-note>span {
    font-size:12px
  }
  .equipment-note strong {
    font-size:19px
  }
  .photo-label {
    font-size:12px
  }
  .hero-points {
    font-size:12px;
    gap:7px
  }
  .hero-bottom {
    font-size:12px;
    gap:10px;
    letter-spacing:.07em;
    margin-top:25px;
    padding-block:25px;
    flex-wrap:wrap
  }
  .intro-grid {
    gap:40px
  }
  .intro-text {
    font-size:16px;
    padding-top:0
  }
  .section-heading {
    gap:35px
  }
  .section-heading>p {
    max-width:290px;
    font-size:16px
  }
  .service-grid {
    gap:14px
  }
  .service-card>img {
    height:180px
  }
  .service-content {
    padding:20px
  }
  .service-content h3 {
    font-size:20px
  }
  .service-content p {
    font-size:16px
  }
  .card-number {
    font-size:12px
  }
  .text-link {
    font-size:14px;
    gap:12px
  }
  .care-image img {
    height:410px
  }
  .care-grid {
    gap:35px
  }
  .steps li {
    gap:14px;
    padding:20px 0
  }
  .step-number {
    width:32px;
    height:32px;
    font-size:12px
  }
  .steps h3 {
    font-size:18px
  }
  .steps p {
    font-size:16px
  }
  .stains-grid,.estimate-grid {
    gap:35px
  }
  .expectations {
    padding:30px
  }
  .expectations h3 {
    font-size:21px
  }
  .stains p:not(.eyebrow),.estimate-copy>p:not(.eyebrow) {
    font-size:16px
  }
  .quote-panel {
    padding:25px
  }
  .quote-panel h3 {
    font-size:25px
  }
  .quote-panel>p {
    font-size:16px
  }
  .item-options {
    grid-template-columns:1fr
  }
  .item-options button {
    padding:10px 12px;
    font-size:14px;
    min-height:48px;
    gap:12px;
    transition:background .18s, border-color .18s, transform .18s;
    line-height:1.5
  }
  .quote-panel .btn {
    font-size:14px;
    padding-inline:13px;
    min-height:56px
  }
  .quote-footer {
    font-size:14px;
    flex-wrap:wrap;
    text-align:center
  }
  .drying {
    padding-right:30px
  }
  .line-icon {
    right:20px;
    top:-10px;
    width:35px;
    pointer-events:none
  }
  .aftercare p:not(.eyebrow) {
    font-size:16px
  }
  .checklist li {
    font-size:16px
  }
  .footer-main {
    gap:25px
  }
}
@media(max-width:600px) {
  html {
    scroll-padding-top:88px
  }
  .container {
    width:calc(100% - 36px)
  }
  .nav-inner {
    min-height:76px;
    gap:10px
  }
  .nav-cta {
    margin-left:auto;
    gap:10px;
    font-size:14px;
    padding:11px 14px;
    min-height:44px;
    flex-shrink:0
  }
  .nav-cta>span[aria-hidden] {
    font-size:18px
  }
  .brand img {
    width:96px
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    flex:none;
    border-radius:50%;
    background:none;
    border:0;
    padding:0
  }
  .menu-toggle span {
    width:21px;
    height:1px;
    background:var(--olive);
    transition:transform .18s, opacity .18s
  }
  .nav-links {
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    background:var(--bg);
    padding:20px 25px 26px;
    border-bottom:1px solid var(--line);
    font-size:15px;
    flex-direction:column;
    gap:20px
  }
  .nav-links.is-open {
    display:flex
  }
  .hero {
    padding-top:24px
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .hero-copy {
    padding:0
  }
  .hero .eyebrow {
    font-size:11px;
    margin-bottom:18px
  }
  .hero h1 {
    font-size:clamp(36px,10.7vw,44px);
    max-width:440px;
    line-height:1.04
  }
  .hero h1 .handwritten {
    font-size:1.14em;
    margin-top:5px
  }
  .hero-lead {
    max-width:440px;
    font-size:16px;
    line-height:1.65;
    margin:20px 0
  }
  .hero-copy .btn {
    font-size:14px;
    padding:18px 21px;
    gap:17px;
    min-height:56px
  }
  .button-note {
    font-size:12px;
    margin-bottom:20px
  }
  .hero-points {
    font-size:12px;
    gap:8px 14px
  }
  .hero-visual {
    padding-bottom:25px;
    margin-top:6px
  }
  .hero-photo {
    height:385px;
    border-radius:100px 23px 23px 23px;
    object-position:50% center
  }
  .photo-note {
    left:12px;
    top:17px;
    font-size:12px;
    padding:12px 16px
  }
  .photo-note small {
    font-size:12px
  }
  .photo-label {
    font-size:12px;
    left:0;
    right:auto
  }
  .equipment-note {
    bottom:43px;
    right:16px;
    padding:11px 15px
  }
  .hero-bottom {
    flex-wrap:wrap;
    justify-content:center;
    font-size:12px;
    gap:11px 17px;
    margin-top:15px;
    padding:23px 0
  }
  .tiny-spark {
    font-size:18px
  }
  .section {
    padding-block:55px
  }
  h2 {
    font-size:35px
  }
  .eyebrow {
    font-size:12px;
    margin-bottom:18px
  }
  .intro-grid,.stains-grid,.estimate-grid,.aftercare-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .intro-text {
    font-size:16px
  }
  .intro-text p:last-child {
    margin-bottom:0
  }
  .services {
    padding-top:5px
  }
  .section-heading {
    display:block;
    margin-bottom:30px
  }
  .section-heading>p {
    max-width:none;
    font-size:16px;
    margin:23px 0 0
  }
  .service-grid {
    grid-template-columns:1fr;
    gap:23px
  }
  .service-card>img {
    height:250px
  }
  .service-content {
    padding:25px
  }
  .card-number {
    font-size:12px
  }
  .service-content h3 {
    font-size:26px
  }
  .service-content p {
    font-size:16px;
    margin-bottom:22px
  }
  .text-link {
    font-size:14px
  }
  .auto-strip {
    flex-wrap:wrap;
    gap:15px;
    padding:22px
  }
  .auto-icon {
    width:34px;
    height:34px
  }
  .auto-strip>div:nth-child(2) {
    flex:1;
    min-width:0
  }
  .auto-strip h3 {
    font-size:17px
  }
  .auto-strip p {
    font-size:14px
  }
  .auto-strip .text-link {
    flex-basis:100%;
    margin-left:49px;
    margin-top:0
  }
  .care-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .care-image img {
    height:320px
  }
  .image-caption {
    font-size:25px;
    left:15px;
    bottom:15px;
    display:flex;
    align-items:center;
    max-width:calc(100% - 30px)
  }
  .steps li {
    padding:23px 0;
    gap:18px
  }
  .steps h3 {
    font-size:21px
  }
  .steps p {
    font-size:16px
  }
  .step-number {
    width:35px;
    height:35px
  }
  .details-note {
    padding:20px;
    align-items:flex-start;
    gap:12px;
    margin-top:28px
  }
  .details-note p {
    font-size:16px
  }
  .details-note>span {
    line-height:1.4;
    font-size:24px
  }
  .result-line {
    font-size:17px;
    line-height:1.8;
    margin-top:30px;
    text-align:left
  }
  .result-line .handwritten {
    display:block;
    font-size:1.7em;
    line-height:1.1
  }
  .stains p:not(.eyebrow),.estimate-copy>p:not(.eyebrow) {
    font-size:16px
  }
  .stains h2 {
    margin-bottom:24px
  }
  .expectations {
    padding:29px;
    border-bottom-right-radius:65px
  }
  .expectations>.handwritten {
    font-size:32px;
    margin-bottom:22px
  }
  .expectations h3 {
    font-size:24px
  }
  .estimate {
    padding-top:5px
  }
  .estimate-copy h2 {
    margin-bottom:25px
  }
  .time-panel>div {
    font-size:14px;
    gap:18px
  }
  .time-panel strong {
    font-size:16px
  }
  .quote-panel {
    padding:26px
  }
  .quote-panel h3 {
    font-size:28px
  }
  .quote-panel>p {
    font-size:16px
  }
  .item-options {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .item-options button {
    font-size:14px;
    padding:12px 10px;
    min-height:48px;
    gap:12px;
    transition:background .18s, border-color .18s, transform .18s;
    line-height:1.5
  }
  .quote-panel .btn {
    font-size:14px;
    padding:18px 12px;
    gap:10px;
    min-height:56px
  }
  .quote-panel .selection-note {
    font-size:14px;
    min-height:44px
  }
  .quote-footer {
    font-size:14px;
    flex-wrap:wrap;
    text-align:center
  }
  .aftercare-grid {
    gap:40px
  }
  .drying {
    border:0;
    border-bottom:1px solid var(--line);
    padding:0 0 25px
  }
  .line-icon {
    right:10px;
    top:5px;
    width:45px;
    pointer-events:none
  }
  .aftercare p:not(.eyebrow) {
    font-size:16px
  }
  .checklist li {
    font-size:16px
  }
  .final-cta {
    padding:55px 0
  }
  .final-cta h2 {
    font-size:34px
  }
  .final-cta h2 br {
    display:none
  }
  .final-cta .handwritten {
    display:block;
    font-size:1.4em;
    margin-top:6px
  }
  .final-cta p:not(.eyebrow) {
    font-size:16px
  }
  .final-cta p br {
    display:none
  }
  .final-cta .btn {
    font-size:14px;
    padding:19px 20px;
    gap:14px;
    min-height:56px
  }
  .footer-main {
    padding:30px 0;
    flex-wrap:wrap;
    gap:25px
  }
  .footer-main .brand img {
    width:100px
  }
  .footer-main>p {
    font-size:14px
  }
  .footer-main>div {
    width:100%;
    margin:0;
    text-align:left;
    font-size:14px
  }
  .footer-bottom {
    flex-wrap:wrap;
    font-size:12px;
    gap:10px 20px;
    padding-bottom:105px
  }
  .footer-bottom>span:nth-child(2) {
    display:none
  }
  .footer-bottom>a {
    margin-left:auto
  }
  .mobile-contact {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    padding:10px 14px max(10px,env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    gap:10px;
    background:#ebf5f4ed;
    border-top:1px solid var(--line);
    backdrop-filter:blur(14px);
    z-index:25
  }
  .mobile-contact .btn {
    flex:1;
    padding:14px 19px;
    font-size:12px;
    gap:20px
  }
  .mobile-call {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--olive);
    flex:none
  }
  .mobile-call svg {
    width:21px;
    height:21px
  }
}
/* Shared line icons and accessible interaction details. */
.icon {
  display:block;
  width:20px;
  height:20px;
  flex:none
}
.btn>span[aria-hidden],.text-link>span,.hero-points .benefit-icon,.tiny-spark {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none
}
.btn>span:not([aria-hidden]) {
  font:inherit;
  line-height:inherit
}
.sparkle .icon {
  width:30px;
  height:30px
}
.tiny-spark .icon {
  width:20px;
  height:20px
}
.image-caption .icon {
  width:24px;
  height:24px
}
.details-note>span .icon {
  width:24px;
  height:24px
}
.item-options button>span[aria-hidden] {
  display:inline-flex;
  flex:none
}
.item-options .icon {
  width:18px;
  height:18px
}
.quote-icon .icon {
  width:24px;
  height:24px
}
.checklist .icon {
  margin-top:3px;
  width:18px;
  height:18px
}
.benefit-icon .icon {
  width:13px;
  height:13px
}
.quote-footer .icon {
  width:16px;
  height:16px
}
.final-spark .icon {
  width:44px;
  height:44px;
  margin:auto
}
.footer-bottom a {
  display:inline-flex;
  align-items:center;
  gap:8px
}
.footer-bottom a .icon {
  width:16px;
  height:16px
}
.nav-cta .nav-cta-short {
  display:none
}
h1,h2,h3 {
  text-wrap:balance
}
p {
  overflow-wrap:break-word
}
.hero-copy,.hero-visual,.section-heading>div,.intro-grid>div,.stains-grid>div,.estimate-grid>div,.aftercare-grid>div {
  min-width:0
}
.nav-links a {
  padding-block:8px
}
.nav-links a:active,.text-link:active {
  color:var(--deep)
}
.item-options button:active {
  transform:scale(.98)
}
.btn:active {
  transform:translateY(0)
}
a,button {
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(27,90,87,.12)
}
:focus-visible {
  scroll-margin-block:120px
}
.footer-main>div {
  overflow-wrap:anywhere
}
.section-heading>p {
  line-height:1.7
}
.photo-label {
  display:none
}
@media(max-width:1000px) and (min-width:601px) {
  
   .service-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  
   .service-card:last-child {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr
  }
  
   .service-card:last-child>img {
    height:100%;
    min-height:260px
  }
  
   .care-grid,.stains-grid,.estimate-grid,.aftercare-grid {
    gap:35px
  }
  
   .hero h1 {
    font-size:clamp(38px,5.6vw,55px)
  }
  
   .hero-points {
    gap:10px
  }
  
   .nav-links {
    gap:17px;
    font-size:14px
  }
  
   .hero-copy .btn {
    padding-inline:20px
  }
  
   .intro-grid {
    gap:40px
  }
  
   .time-panel>div {
    flex-wrap:wrap;
    gap:4px
  }
  
   .item-options {
    grid-template-columns:1fr
  }
}
@media(max-width:800px) and (min-width:601px) {
  
   .care-grid,.stains-grid,.estimate-grid,.aftercare-grid,.intro-grid {
    grid-template-columns:1fr
  }
  
   .drying {
    border-right:0;
    border-bottom:1px solid var(--line);
    padding-right:70px;
    padding-bottom:20px
  }
  
   .hero-grid {
    grid-template-columns:1fr 1fr;
    gap:24px
  }
  
   .nav-cta .nav-cta-label {
    display:none
  }
  
   .nav-cta .nav-cta-short {
    display:inline
  }
  
   .nav-cta {
    gap:8px;
    padding-inline:15px
  }
  
   .nav-links {
    font-size:13px;
    gap:14px
  }
  
   .item-options {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:600px) {
  
   html {
    scroll-padding-bottom:100px
  }
  
   .nav-cta .nav-cta-label {
    display:none
  }
  
   .nav-cta .nav-cta-short {
    display:inline
  }
  
   .nav-cta {
    padding:11px 14px;
    gap:8px
  }
  
   .nav-links {
    padding:14px 24px 22px;
    gap:4px;
    font-size:16px;
    max-height:calc(100dvh - 160px);
    overflow-y:auto
  }
  
   .nav-links a {
    min-height:44px;
    display:flex;
    align-items:center
  }
  
   .menu-toggle:hover {
    background:var(--mint)
  }
  
   .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(3px) rotate(45deg)
  }
  
   .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-3px) rotate(-45deg)
  }
  
   .hero-copy .btn {
    width:100%;
    padding-inline:16px;
    gap:12px
  }
  
   .hero-photo {
    height:330px;
    border-top-left-radius:88px
  }
  
   .photo-note {
    font-size:13px;
    left:15px;
    top:18px;
    padding:13px 15px;
    gap:10px
  }
  
   .equipment-note>span {
    font-size:12px
  }
  
   .equipment-note {
    padding:10px 14px;
    bottom:42px
  }
  
   .hero-visual {
    padding-bottom:0
  }
  
   .equipment-note {
    bottom:18px
  }
  
   .hero-bottom {
    font-size:11px;
    letter-spacing:.08em;
    gap:12px
  }
  
   .service-content {
    padding:24px
  }
  
   .service-content p {
    line-height:1.7
  }
  
   .card-number {
    font-size:11px
  }
  
   .quote-panel {
    padding:24px
  }
  
   .quote-panel .btn {
    padding:17px 14px;
    gap:10px
  }
  
   .item-options button {
    padding:12px 10px;
    gap:7px;
    font-size:13px;
    min-height:52px
  }
  
   .item-options .icon {
    width:16px;
    height:16px
  }
  
   .quote-panel .selection-note {
    font-size:13px;
    min-height:44px
  }
  
   .quote-footer {
    font-size:13px;
    line-height:1.6
  }
  
   .time-panel>div {
    align-items:baseline
  }
  
   .time-panel>div>span {
    min-width:0;
    max-width:62%
  }
  
   .image-caption {
    font-size:24px;
    line-height:1.15
  }
  
   .details-note {
    padding:20px
  }
  
   .line-icon {
    width:38px;
    right:5px;
    top:-5px
  }
  
   .aftercare h2 {
    max-width:270px
  }
  
   .mobile-contact .btn {
    font-size:14px;
    min-height:48px;
    gap:15px
  }
  
   .final-cta .btn {
    max-width:100%;
    gap:12px
  }
  
   .final-cta p:not(.eyebrow) {
    font-size:16px
  }
  
   .footer-main>p,.footer-main>div {
    font-size:14px
  }
  
   .footer-bottom {
    font-size:12px
  }
  
   :focus-visible {
    scroll-margin-block:100px
  }
}
@media(max-width:350px) {
  
   .container {
    width:calc(100% - 32px)
  }
  
   .brand img {
    width:88px
  }
  
   .nav-inner {
    gap:8px
  }
  
   .nav-cta {
    padding-inline:11px
  }
  
   .hero h1 {
    font-size:36px
  }
  
   .hero-points {
    gap:8px;
    flex-direction:column
  }
  
   .item-options {
    grid-template-columns:1fr
  }
  
   .quote-panel {
    padding:22px
  }
  
   h2 {
    font-size:32px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}

/* Language selection: same four-language preference model as EcoCleaning. */
.language-switch{position:relative;flex:none}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 5px;background:transparent;border:0;font-size:14px;line-height:1.4;border-radius:12px}
.language-trigger:hover{background:var(--mint)}
.language-trigger img,.language-options img{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(22,48,44,.1);flex:none}
.language-chevron{width:14px;height:14px}
.language-current-code{display:none}
.language-current-name{white-space:nowrap}
.language-options{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:4px;width:200px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px rgba(22,48,44,.14);z-index:30}
.language-options[hidden]{display:none}
.language-options a{display:flex;align-items:center;gap:12px;min-height:44px;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;font-size:15px;text-align:left;line-height:1.4}
.language-options a:hover{background:var(--bg)}
.language-options a[aria-current=page]{background:var(--mint);color:var(--olive);font-weight:600}
.language-options a:focus-visible,.local-languages a:focus-visible,.local-service-links a:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.item-options button>[data-i18n]{min-width:0;flex:1;text-align:left}
.checklist li>[data-i18n]{min-width:0;flex:1}
.btn>[data-i18n]{min-width:0}
.nav-inner{gap:25px}
@media(max-width:1150px){.nav-inner{gap:18px}.language-trigger{font-size:13px}}
@media(max-width:1000px){.language-current-name{display:none}.language-current-code{display:inline;font-size:12px;font-weight:600}.language-trigger{gap:5px}}
@media(max-width:800px) and (min-width:601px){.nav-inner{gap:12px}.nav-links{gap:12px}.language-current-code{display:none}.language-trigger{padding-inline:4px}}
@media(max-width:600px){.nav-inner{gap:12px}.nav-cta{display:none}.language-switch{margin-left:auto}.language-trigger{min-width:58px;padding-inline:7px}.language-current-code{display:none}.language-options{right:0;width:196px}.language-options a{min-height:46px}}
@media(max-width:350px){.nav-inner{gap:8px}.language-options{width:188px}}

/* Explain the photo quote without adding fields or a separate submission step. */
.photo-guide{border-top:1px solid var(--line);padding-top:20px;margin:4px 0 24px}
.photo-guide h4{font:600 15px/1.5 Manrope,system-ui,sans-serif;margin:0 0 10px;color:var(--ink)}
.photo-guide ul{margin:0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.65}
.photo-guide li+li{margin-top:7px}
.quote-next-step{align-items:flex-start;text-align:left}
.quote-next-step>span[aria-hidden]{margin-top:3px}
.quote-next-step>[data-i18n]{flex:1;min-width:0}
@media(max-width:600px){.photo-guide{padding-top:18px;margin-bottom:20px}.photo-guide h4{font-size:14px}.photo-guide ul{font-size:14px}.quote-next-step{flex-wrap:nowrap}}

/* Expandable price guide in the existing EcoCleaning visual system. */
.price-section{padding-top:20px}
.price-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center;margin-bottom:34px}
.price-heading h2 .handwritten{display:inline-block;margin-top:8px}
.price-intro{max-width:690px;font-size:17px;margin:24px 0 0}
.minimum-order{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:28px 34px;max-width:310px;border:1px solid var(--line);border-radius:24px;background:var(--mint);color:var(--olive)}
.minimum-order>span{font-size:14px;line-height:1.5}
.minimum-order strong{font-size:44px;font-weight:400;letter-spacing:-.04em;line-height:1.2;font-variant-numeric:tabular-nums}
.price-groups{display:grid;gap:14px}
.price-group{background:white;border:1px solid var(--line);border-radius:22px;overflow:clip;box-shadow:var(--shadow)}
.price-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:24px 30px;cursor:pointer;color:var(--ink)}
.price-group summary::-webkit-details-marker{display:none}
.price-group summary:hover{background:var(--bg)}
.price-group summary:focus-visible{outline:3px solid #b49854;outline-offset:-5px;border-radius:22px}
.price-group summary h3{font-size:24px;line-height:1.35;letter-spacing:-.025em;min-width:0}
.price-chevron{width:22px;height:22px;flex:none;transition:transform .2s}
.price-group[open] .price-chevron{transform:rotate(180deg)}
.price-group[open] summary{border-bottom:1px solid var(--line)}
.price-group-body{padding:4px 30px 26px}
.price-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:16px;line-height:1.6}
.price-table th,.price-table td{padding:15px 0;text-align:left;overflow-wrap:break-word}
.price-table thead th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:20px;padding-bottom:12px}
.price-table thead th:last-child,.price-table td{width:28%;text-align:right;padding-left:24px}
.price-table tbody th{font-weight:400;color:var(--ink)}
.price-table tbody tr+tr{border-top:1px solid var(--line)}
.price-table td{font-weight:600;color:var(--olive);font-variant-numeric:tabular-nums}
.price-table td small{display:block;font-size:13px;font-weight:400;line-height:1.5;margin-top:4px;color:var(--muted)}
.price-note{font-size:14px;background:var(--bg);border-radius:14px;padding:17px 20px;margin:10px 0 0;line-height:1.65}
.price-car-intro{font-size:16px;max-width:840px;margin:20px 0 0}
.price-calculation{border-top:1px solid var(--line);padding-top:24px;margin-top:5px}
.price-calculation h4{font-size:16px;font-weight:600;margin:0 0 9px}
.price-calculation p{font-size:15px;max-width:820px;margin-bottom:16px}
.price-calculation .price-formula{font-size:19px;color:var(--olive);margin-bottom:24px}
.price-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:26px}
.price-bottom p{max-width:730px;font-size:14px;margin:0}
.price-bottom .btn{flex:none;max-width:100%}
.quote-panel .quote-minimum{font-size:14px;color:var(--olive);font-weight:600;margin:14px 0 0}
@media(max-width:800px){.price-heading{gap:24px}.minimum-order{padding:24px;max-width:240px}.price-table td,.price-table thead th:last-child{width:31%}.price-bottom{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:600px){.price-section{padding-top:5px}.price-heading{grid-template-columns:1fr;gap:24px;margin-bottom:26px}.price-intro{font-size:16px;margin-top:20px}.minimum-order{max-width:none;flex-direction:row;align-items:center;justify-content:space-between;padding:18px 22px;gap:20px}.minimum-order>span{max-width:190px}.minimum-order strong{font-size:36px;white-space:nowrap}.price-group summary{padding:19px 20px;min-height:72px;gap:14px}.price-group summary h3{font-size:21px}.price-group-body{padding:2px 18px 20px}.price-table{font-size:14px;line-height:1.6}.price-table thead th{font-size:10px;letter-spacing:.02em}.price-table td,.price-table thead th:last-child{width:34%;padding-left:12px}.price-table th,.price-table td{padding-top:13px;padding-bottom:13px}.price-table td small{font-size:12px}.price-note{font-size:14px;padding:15px}.price-car-intro{font-size:14px}.price-calculation p{font-size:14px}.price-calculation .price-formula{font-size:17px}.price-bottom .btn{width:100%;font-size:14px}.quote-panel .quote-minimum{font-size:13px}}

/* Equipment logos supplied by the owner. */
.equipment-note{max-width:calc(100% - 30px)}.equipment-logos{display:flex;align-items:center;gap:20px;margin-top:6px}.equipment-logos strong{flex:none}.santoemma-logo{width:180px;height:auto;min-width:0;object-fit:contain}@media(max-width:600px){.equipment-logos{gap:12px}.santoemma-logo{width:120px}.equipment-note strong{font-size:18px}}

/* Keep the service separators visible at every breakpoint. */
.hero-service{display:inline-flex;align-items:center;gap:18px;white-space:nowrap}.hero-service .tiny-spark{display:inline-flex;flex:none}@media(max-width:600px){.hero-service{gap:10px}.hero-service .tiny-spark .icon{width:14px;height:14px}}

/* Studio signature matches the main EcoCleaning footer. */
.footer-main>.footer-brand{margin-left:0;text-align:left;width:auto;flex:none;gap:0}.footer__credit{margin-top:10px;font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:0;line-height:1.15}.footer__credit a{font-family:Caveat,cursive;font-weight:600;font-size:1.4rem;color:var(--olive);letter-spacing:.01em;align-self:flex-start;transition:color .2s,transform .2s}.footer__credit a:hover{color:var(--deep);transform:translateY(-1px)}

/* Company return, glass cleaning and original work videos. */
.company-bar{border-bottom:1px solid var(--line);background:#dcefeb80}.company-return{display:inline-flex;gap:9px;align-items:center;min-height:38px;font-size:12px;color:var(--olive);font-weight:600;transition:color .2s}.company-return svg{width:17px;height:17px;flex:none;transition:transform .2s}.company-return:hover svg{transform:translateX(-3px)}.company-return:hover{color:var(--deep)}html{scroll-padding-top:155px}.footer-main>.footer-contact{gap:0}.work-videos{background:#e1efec}.work-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.work-video{margin:0;background:white;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.work-video video{display:block;width:100%;aspect-ratio:4/3;background:#16302c;object-fit:contain}.work-video video:focus-visible{outline:3px solid var(--olive);outline-offset:-4px}.work-video figcaption{display:flex;gap:18px;padding:28px}.work-video-number{color:var(--olive);font-size:12px;padding-top:5px}.work-video h3{font-size:23px;margin:0 0 10px;text-wrap:balance}.work-video p{font-size:15px;line-height:1.7;margin:0}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-content{padding:26px 24px}.service-content h3{text-wrap:balance}@media(min-width:601px) and (max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){html{scroll-padding-top:125px}.company-return{font-size:11px;min-height:36px}.service-grid,.work-video-grid{grid-template-columns:1fr}.work-video-grid{gap:22px}.work-video figcaption{padding:22px}.work-video h3{font-size:22px}.footer-main>.footer-contact{width:100%;margin-left:0;text-align:left}}@media(prefers-reduced-motion:reduce){.company-return,.company-return svg{transition:none;transform:none!important}}
.local-header{background:#fff;border-bottom:1px solid var(--line)}
.local-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding-block:10px}
.local-header img{display:block;object-fit:contain}
.local-languages{display:flex;flex-wrap:wrap;gap:4px}
.local-languages a{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;border-radius:8px}
.local-languages a[aria-current=page]{background:var(--mint);font-weight:700}
.local-main{padding-block:30px 64px}
.local-back{display:inline-flex;align-items:center;min-height:44px;color:var(--olive);font-weight:700}
.local-hero,.local-information{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(22px,5vw,70px)}
.local-hero{margin-top:22px}
.local-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.1;margin:0 0 18px}
.local-lead{margin:0 0 22px;max-width:55ch}
.local-hero img{width:100%;height:auto;border-radius:22px}
.local-information{margin-block:56px;align-items:start}
.local-information section{min-width:0;padding:clamp(16px,3vw,28px);border:1px solid var(--line);border-radius:20px;background:#fff}
.local-information h2,.local-services h2{font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.2;margin:0 0 14px}
.local-information p{line-height:1.65}
.local-information .price-table td{white-space:normal}
.local-service-links{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px}
.local-service-links a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.23em;color:var(--olive);font-weight:700}
@media(max-width:720px){.local-hero,.local-information{grid-template-columns:1fr}.local-information{margin-block:34px}.local-main{padding-bottom:36px}}
