:root {
    --cherry: #ae435f;
    --cherry-deep: #963b54;
    --mint: #edf8f4;
    --mint-border: #b9d8cb;
    --lime: #dbe891;
    --lime-soft: #f6f9e5;
    --blue: #3e6578;
    --blue-soft: #eaf4f7;
    --text: #466479;
    --subtle: #5a7485;
    --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--white); font-family: "Segoe UI", Tahoma, sans-serif; line-height: 1.66; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--cherry); outline-offset: 4px; }
a:active { transform: translateY(1px); }
.jump { position: absolute; z-index: 15; left: 15px; top: -120px; padding: 10px 16px; color: var(--cherry); background: var(--white); }
.jump:focus { top: 10px; }
.bound { width: min(100% - 74px, 1190px); margin-inline: auto; }
.prose-column { max-width: 1060px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.2; letter-spacing: -.023em; }
h1 { font-size: 40px; font-weight: 800; margin-bottom: 24px; }
h2 { font-size: 28px; font-weight: 800; margin-bottom: 21px; }
h3 { font-size: 21px; font-weight: 800; margin-bottom: 12px; }
p { font-size: 16px; line-height: 1.73; margin-bottom: 17px; }
p:last-child { margin-bottom: 0; }
p a[href=""] { text-decoration: none; color: var(--cherry); font-weight: inherit; }
p a[href=""]:hover { background: var(--lime-soft); }

.head { border-bottom: 1px solid var(--mint-border); background: var(--white); }
.identity-line { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 91px; padding: 15px 0; }
.logo { display: inline-flex; gap: 15px; align-items: center; white-space: nowrap; color: var(--blue); text-decoration: none; font-size: 22px; font-weight: 900; }
.logo strong { color: var(--cherry); }
.logo-tool { display: flex; align-items: center; justify-content: center; gap: 6px; width: 53px; height: 53px; background: var(--cherry); border-radius: 4px 4px 17px 4px; }
.logo-tool i { display: block; width: 10px; height: 24px; background: var(--white); border-radius: 5px; }
.logo-tool i:first-child { height: 10px; background: var(--lime); }
.opening-hours { color: var(--subtle); font-size: 13px; font-weight: 700; text-align: right; }
.nav-ribbon { background: var(--lime); }
.menu { display: flex; flex-wrap: wrap; align-items: center; column-gap: 35px; row-gap: 0; }
.menu a { display: inline-flex; min-height: 52px; align-items: center; text-decoration: none; font-weight: 800; font-size: 14px; color: var(--blue); transition: color .16s ease, background .16s ease; }
.menu a:hover, .menu a[aria-current="page"] { color: var(--cherry-deep); }
.menu .menu-order { margin-left: auto; padding: 10px 20px; background: var(--cherry); color: var(--white); }
.menu .menu-order:hover { background: var(--cherry-deep); color: var(--white); }

.overline, .section-id { display: block; color: var(--cherry); text-transform: uppercase; font-weight: 900; font-size: 12px; letter-spacing: .115em; line-height: 1.5; margin-bottom: 18px; }
.headline-section { background: var(--mint); border-bottom: 4px solid var(--cherry); }
.headline-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(270px, .77fr); gap: 55px; align-items: center; padding: 69px 0 72px; }
.intro-content { min-width: 0; }
.intro-content h1 { color: var(--cherry-deep); }
.intro-content p { max-width: 780px; }
.action-duo { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; align-items: center; }
.action { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 21px; border: 2px solid transparent; border-radius: 3px; line-height: 1.2; text-decoration: none; font-weight: 900; font-size: 15px; white-space: nowrap; transition: background .16s ease, color .16s ease; }
.action-phone { background: var(--cherry); color: var(--white); border-color: var(--cherry); }
.action-phone:hover { background: var(--cherry-deep); border-color: var(--cherry-deep); }
.action-web { background: var(--lime); color: var(--blue); border-color: var(--lime); }
.action-web:hover { background: #e6efaa; border-color: #e6efaa; }
.cooktop-drawing { width: 100%; padding: 20px; background: var(--white); border: 1px solid var(--mint-border); box-shadow: 13px 13px 0 #d5eadf; }
.drawing-mark { color: var(--cherry); font-weight: 900; font-size: 10px; letter-spacing: .12em; border-bottom: 1px solid var(--mint-border); padding-bottom: 13px; }
.hob-outline { position: relative; width: min(100%, 250px); height: 255px; border: 11px solid var(--blue); border-radius: 8px; margin: 24px auto 20px; background: #d6e8e6; }
.hob-outline::before { position: absolute; content: ""; inset: 8px; border: 2px solid #a1c7c6; border-radius: 3px; }
.hob-field { position: absolute; display: flex; align-items: center; justify-content: center; width: 125px; height: 125px; border: 12px solid var(--cherry); border-radius: 50%; background: #f0f9f4; }
.hob-field > span { display: block; width: 74px; height: 74px; border: 10px solid #d68092; border-radius: 50%; }
.hob-field-top { left: 19px; top: 13px; }
.hob-field-bottom { right: 17px; bottom: 11px; width: 102px; height: 102px; border-width: 9px; }
.hob-field-bottom > span { width: 58px; height: 58px; border-width: 8px; }
.hob-control { display: flex; flex-direction: column; gap: 8px; position: absolute; right: 19px; top: 26px; }
.hob-control i { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--cherry); }
.hob-control i:first-child { background: var(--lime); border: 2px solid var(--cherry); width: 14px; height: 14px; }
.drawing-caption { border-top: 1px solid var(--mint-border); padding-top: 13px; font-size: 12px; font-weight: 800; color: var(--blue); }

.local-strip { padding: 48px 0 51px; background: var(--lime-soft); border-bottom: 1px solid #dce8b9; }
.local-strip h2 { color: var(--cherry-deep); }
.local-strip p { max-width: 1100px; }
.local-strip strong { color: var(--blue); }
.machine-list { padding: 67px 0 72px; }
.machine-list h2 { color: var(--blue); }
.machine-entries { margin-top: 25px; border-top: 4px solid var(--cherry); }
.machine-entry { position: relative; padding: 26px 0 30px 57px; border-bottom: 1px solid var(--mint-border); }
.machine-index { position: absolute; left: 0; top: 28px; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; border: 2px solid var(--cherry); border-radius: 50%; color: var(--cherry); font-size: 15px; font-weight: 900; }
.machine-entry h3 { color: var(--cherry-deep); }
.machine-entry p { max-width: 1080px; }
.assessment { padding: 67px 0 71px; background: var(--blue); color: #f0f8fa; }
.assessment .section-id { color: var(--lime); }
.assessment h2 { color: var(--white); }
.assessment p { color: #eef8fc; }
.assessment .prose-column { border-left: 5px solid var(--lime); padding-left: 30px; }
.working-time { padding: 63px 0 67px; background: var(--white); }
.time-wrap { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr); align-items: center; gap: 55px; }
.time-copy { min-width: 0; }
.time-stamp { border-top: 5px solid var(--cherry); background: var(--mint); padding: 6px 20px 13px; }
.time-stamp > div { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 16px 0; border-bottom: 1px solid var(--mint-border); }
.time-stamp > div:last-child { border: 0; }
.time-stamp span { font-size: 13px; color: var(--subtle); }
.time-stamp strong { color: var(--cherry-deep); font-size: 17px; white-space: nowrap; }
.closing-band { padding: 43px 0 48px; background: var(--cherry); color: var(--white); }
.closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.closing-band h2 { color: var(--white); margin-bottom: 10px; }
.closing-band p { color: #fff0f3; max-width: 580px; }
.closing-band .overline { color: var(--lime); }
.closing-band .action-duo { flex: none; margin: 0; }
.closing-band .action-phone { background: var(--white); color: var(--cherry-deep); border-color: var(--white); }
.closing-band .action-phone:hover { background: var(--lime-soft); border-color: var(--lime-soft); }

.subhead { padding: 63px 0 66px; border-bottom: 4px solid var(--cherry); }
.subhead h1 { color: var(--cherry-deep); }
.subhead p { max-width: 1030px; }
.home-head { background: var(--blue-soft); }
.service-head { background: var(--lime-soft); border-bottom-color: var(--blue); }
.faults, .other-faults, .visit-terms, .service-procedure, .payment-section, .service-reach { padding: 57px 0 63px; }
.faults { border-bottom: 1px solid var(--mint-border); }
.faults-contrast { background: var(--mint); }
.other-faults { background: var(--white); }
.visit-terms { background: var(--cherry); color: #fff4f7; }
.visit-terms h2 { color: var(--white); }
.visit-terms .section-id { color: var(--lime); }
.visit-terms p { color: #fff3f6; }
.visit-terms .action-phone { background: var(--white); color: var(--cherry-deep); border-color: var(--white); }
.visit-terms .action-phone:hover { background: var(--lime-soft); border-color: var(--lime-soft); }
.action-duo-bottom { margin-top: 29px; }
.service-procedure { background: var(--white); }
.procedure-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; padding: 24px 0; border-top: 1px solid var(--mint-border); }
.procedure-item:last-child { border-bottom: 1px solid var(--mint-border); }
.procedure-item > span { color: var(--cherry); font-weight: 900; font-size: 17px; }
.procedure-item h3 { color: var(--cherry-deep); margin-bottom: 10px; }
.procedure-item p { margin: 0; }
.payment-section { background: var(--blue); }
.payment-section .section-id { color: var(--lime); }
.payment-section h2, .payment-section p { color: var(--white); }
.payment-section p a[href=""] { color: var(--lime); }
.service-reach { background: var(--mint); }
.service-reach h2 { color: var(--cherry-deep); }
.foot { padding: 30px 0 34px; background: var(--blue-soft); border-top: 1px solid var(--mint-border); }
.foot-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.foot-brand { display: flex; flex-direction: column; color: var(--cherry-deep); font-size: 18px; font-weight: 900; }
.foot-brand small { font-size: 12px; color: var(--subtle); font-weight: 500; }
.foot nav { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px; }
.foot nav a { color: var(--blue); text-decoration: none; font-size: 14px; font-weight: 800; }
.foot nav a:hover { color: var(--cherry); }
.foot nav .private-link { font-size: 11px; font-weight: 400; color: var(--subtle); }

@media (max-width: 1120px) {
    .headline-grid { grid-template-columns: minmax(0, 1.58fr) minmax(260px, .76fr); gap: 33px; }
    .cooktop-drawing { padding: 16px; }
    .hob-outline { transform: scale(.91); margin-top: 13px; margin-bottom: 7px; }
    .closing-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
    .closing-band .action-duo { flex: initial; }
    .time-wrap { gap: 30px; }
}
@media (max-width: 900px) {
    .bound { width: min(100% - 48px, 1190px); }
    .headline-grid { display: block; padding: 53px 0 57px; }
    .cooktop-drawing { display: none; }
    .time-wrap { grid-template-columns: 1fr; gap: 27px; }
    .time-stamp { max-width: 600px; }
}
@media (max-width: 620px) {
    .bound { width: min(100% - 32px, 1190px); }
    .identity-line { min-height: 73px; gap: 13px; flex-wrap: wrap; }
    .logo { font-size: 18px; gap: 10px; }
    .logo-tool { width: 43px; height: 43px; }
    .opening-hours { font-size: 11px; text-align: left; }
    .menu { column-gap: 23px; }
    .menu a { min-height: 46px; font-size: 13px; }
    .menu .menu-order { margin: 0; padding: 8px 12px; }
    .headline-grid, .subhead { padding: 43px 0 47px; }
    .local-strip, .machine-list, .assessment, .working-time, .faults, .other-faults, .visit-terms, .service-procedure, .payment-section, .service-reach { padding: 43px 0 47px; }
    .action-duo { flex-direction: column; align-items: stretch; }
    .action { width: 100%; white-space: normal; text-align: center; }
    .machine-entry { padding: 23px 0 25px 47px; }
    .machine-index { top: 25px; width: 31px; height: 31px; }
    .assessment .prose-column { padding-left: 18px; border-left-width: 3px; }
    .time-stamp { padding: 5px 13px 10px; }
    .time-stamp > div { flex-wrap: wrap; gap: 6px; }
    .closing-band { padding: 38px 0 42px; }
    .closing-band .action-duo { width: 100%; }
    .foot-inner { align-items: flex-start; flex-direction: column; }
    .foot nav { gap: 15px 22px; }
    .procedure-item { grid-template-columns: 35px minmax(0, 1fr); gap: 12px; }
}
