.installation-page {
  padding-bottom:72px;
  overflow-wrap:anywhere;
  --install-accent:#c9141c;
}
.installation-page figure,.installation-page h3 {
  margin:0;
}
.installation-page .install-kicker {
  font-size:12px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--install-accent);
}
.install-hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:56px;
  align-items:center;
  padding:24px 0 48px;
}
.installation-page .install-hero h1 {
  font-size:clamp(38px,4.1vw,58px);
  line-height:1.07;
  letter-spacing:-.04em;
  margin:22px 0;
  max-width:650px;
}
.install-hero h1 span {
  color:var(--install-accent);
}
.install-lead {
  max-width:490px;
  font-size:18px;
  line-height:1.7;
  color:#555c64;
}
.install-hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:20px 28px;
  margin-top:30px;
}
.install-button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:16px 24px;
  min-height:54px;
  border-radius:8px;
  background:var(--install-accent);
  color:white;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
}
.install-button:hover {
  color:#fff;
  background:#aa1017;
}
.install-button span {
  font-size:20px;
  line-height:1;
}
.installation-page .install-text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:var(--install-accent);
  font-size:14px;
  font-weight:600;
}
.install-text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.install-hero-note {
  margin-top:22px;
  font-size:13px;
  color:#616871;
}
.install-hero-photo {
  align-self:stretch;
  position:relative;
  min-height:480px;
  border-radius:14px;
  overflow:hidden;
  background:#eadfce;
}
.install-hero-photo img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
}
.install-hero-photo figcaption {
  position:absolute;
  bottom:20px;
  left:20px;
  right:20px;
  padding:10px 14px;
  border-radius:6px;
  background:#fff;
  color:#42484f;
  width:fit-content;
  max-width:calc(100% - 40px);
  font-size:12px;
}
.install-nav {
  display:flex;
  flex-wrap:wrap;
  gap:12px 32px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:10px 0;
}
.install-nav a {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  font-size:14px;
  font-weight:500;
}
.installation-page [id] {
  scroll-margin-top:180px;
}
.install-section {
  padding:68px 0 0;
}
.install-section-heading {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:40px;
  padding-bottom:32px;
  align-items:start;
}
.installation-page h2 {
  font-size:34px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.install-section-heading .install-kicker {
  padding-top:8px;
}
.install-section-heading>div>p {
  max-width:680px;
  margin-top:16px;
  color:#59616a;
}
.install-service {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  padding:32px 0;
  border-top:1px solid var(--line);
}
.install-service-title {
  display:grid;
  grid-template-columns:40px 1fr;
  column-gap:16px;
  align-content:start;
}
.install-index {
  padding-top:2px;
  font-size:13px;
  color:#717881;
}
.installation-page h3 {
  font-size:23px;
  line-height:1.3;
  letter-spacing:-.015em;
}
.install-service-title p,.install-service-title a {
  grid-column:2;
}
.install-service-title p {
  margin:12px 0;
  color:#59616a;
  max-width:455px;
}
.install-service-detail ul {
  margin:0;
  padding-left:20px;
}
.install-service-detail li {
  margin-bottom:8px;
  padding-left:4px;
}
.install-service-detail li::marker {
  color:var(--install-accent);
}
.install-check {
  margin-top:18px;
  font-size:14px;
  color:#59616a;
  padding:16px 20px;
  background:#f4f5f6;
  border-radius:8px;
}
.install-check strong {
  display:block;
  color:#323840;
  margin-bottom:4px;
}
.install-planner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  margin:32px 0 0;
  padding:36px 40px;
  border-radius:12px;
  background:#25282d;
  color:white;
}
.install-planner .install-kicker {
  color:#fba3a6;
  margin-bottom:10px;
}
.install-planner p:not(.install-kicker) {
  max-width:740px;
  margin-top:16px;
  color:#e1e3e6;
  font-size:15px;
}
.install-button-light {
  background:white;
  color:#25282d;
  flex-shrink:0;
}
.install-button-light:hover {
  color:#25282d;
  background:#f2f3f4;
}
.install-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.install-gallery img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  background:#eee;
}
.install-gallery figcaption {
  margin-top:18px;
}
.install-gallery h3 {
  font-size:19px;
}
.install-gallery p {
  color:#59616a;
  font-size:14px;
  margin-top:6px;
}
.install-steps {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:56px;
}
.install-steps li {
  display:grid;
  grid-template-columns:46px 1fr;
  gap:16px;
  border-top:1px solid var(--line);
  padding:28px 0;
}
.install-steps li:last-child {
  grid-column:1/-1;
  max-width:800px;
}
.install-step-number {
  display:flex;
  justify-content:center;
  align-items:center;
  width:42px;
  height:42px;
  color:var(--install-accent);
  background:#fceeee;
  border-radius:50%;
  font-size:13px;
  font-weight:600;
}
.install-steps h3 {
  font-size:21px;
}
.install-steps p {
  margin-top:12px;
  color:#59616a;
  font-size:15px;
}
.install-steps .install-step-result {
  font-size:13px;
  color:var(--install-accent);
  font-weight:600;
}
.install-estimate {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#f4f5f6;
  padding:30px 0;
  border-radius:12px;
}
.install-estimate>div {
  padding:0 30px;
}
.install-estimate>div+div {
  border-left:1px solid #d4d8dc;
}
.install-estimate h3 {
  font-size:21px;
}
.install-estimate p {
  font-size:15px;
  color:#59616a;
  margin-top:14px;
}
.install-estimate-note {
  max-width:850px;
  font-size:14px;
  color:#59616a;
  margin-top:20px;
}
.install-handover {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:40px 0;
  margin-top:68px;
}
.install-handover h2 {
  margin:16px 0;
}
.install-handover p:not(.install-kicker) {
  color:#59616a;
  max-width:450px;
}
.install-handover ul {
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.install-handover li {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.install-handover li span {
  font-size:14px;
  color:#59616a;
}
.install-faq {
  max-width:880px;
  margin-left:auto;
}
.install-faq details {
  border-top:1px solid var(--line);
}
.install-faq details:last-child {
  border-bottom:1px solid var(--line);
}
.install-faq summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 0;
  gap:24px;
  font-size:18px;
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.install-faq summary::-webkit-details-marker {
  display:none;
}
.install-faq summary::after {
  content:'+';
  flex-shrink:0;
  color:var(--install-accent);
  font-size:24px;
  font-weight:400;
}
.install-faq details[open] summary::after {
  content:'−';
}
.install-faq details p {
  max-width:760px;
  padding:0 36px 24px 0;
  color:#59616a;
}
.install-request {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:64px;
  padding:40px;
  margin-top:68px;
  border-radius:12px;
  background:#f7eee8;
}
.install-request h2 {
  margin:14px 0;
}
.install-request>div>p:not(.install-kicker) {
  color:#59616a;
}
.install-request .install-button {
  margin-top:24px;
}
.install-phone {
  display:block;
  width:fit-content;
  margin-top:18px;
  font-weight:600;
  font-size:19px;
}
.install-preparation {
  padding-left:36px;
  border-left:1px solid #dcd1c9;
}
.install-preparation h3 {
  font-size:20px;
}
.install-preparation ul {
  margin:20px 0;
  padding-left:20px;
  color:#50565e;
}
.install-preparation li {
  margin:8px 0;
}
.install-preparation>p {
  font-size:14px;
}
.install-preparation a {
  color:var(--install-accent);
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:1000px) {
  .install-hero {
    gap:32px;
  }
  .install-hero-photo {
    min-height:430px;
  }
  .installation-page .install-hero h1 {
    font-size:44px;
  }
  .install-service,.install-handover,.install-request {
    gap:32px;
  }
  .install-planner {
    align-items:flex-start;
    flex-direction:column;
  }
  .install-section-heading {
    grid-template-columns:1fr 2fr;
    gap:24px;
  }
  .install-estimate>div {
    padding:0 22px;
  }
}
@media(max-width:700px) {
  .installation-page {
    padding-bottom:36px;
  }
  .install-hero {
    grid-template-columns:1fr;
    padding:16px 0 28px;
  }
  .installation-page .install-hero h1 {
    font-size:40px;
    max-width:520px;
  }
  .install-lead {
    font-size:16px;
  }
  .install-hero-photo {
    min-height:0;
    aspect-ratio:4/3;
  }
  .install-hero-photo figcaption {
    left:14px;
    bottom:14px;
    font-size:11px;
  }
  .install-nav {
    gap:4px 22px;
  }
  .install-section {
    padding-top:44px;
  }
  .install-section-heading {
    grid-template-columns:1fr;
    gap:12px;
    padding-bottom:24px;
  }
  .install-section-heading .install-kicker {
    padding-top:0;
  }
  .installation-page h2 {
    font-size:28px;
  }
  .install-service {
    grid-template-columns:1fr;
    gap:20px;
    padding:26px 0;
  }
  .install-service-title {
    grid-template-columns:28px 1fr;
    column-gap:12px;
  }
  .installation-page h3 {
    font-size:21px;
  }
  .install-service-detail {
    margin-left:40px;
  }
  .install-service-detail ul {
    font-size:15px;
  }
  .install-planner {
    padding:28px 24px;
    gap:24px;
    margin-top:20px;
  }
  .install-button {
    padding:15px 20px;
    max-width:100%;
  }
  .install-gallery {
    grid-template-columns:1fr;
    gap:28px;
  }
  .install-gallery h3 {
    font-size:19px;
  }
  .install-steps {
    grid-template-columns:1fr;
  }
  .install-steps li {
    grid-template-columns:40px 1fr;
    gap:16px;
    padding:24px 0;
  }
  .install-step-number {
    width:36px;
    height:36px;
  }
  .install-estimate {
    grid-template-columns:1fr;
    padding:4px 24px;
  }
  .install-estimate>div {
    padding:24px 0;
  }
  .install-estimate>div+div {
    border-left:0;
    border-top:1px solid #d4d8dc;
  }
  .install-handover {
    grid-template-columns:1fr;
    margin-top:44px;
    padding:28px 0;
  }
  .install-handover ul {
    gap:24px;
  }
  .install-faq summary {
    font-size:16px;
    gap:16px;
  }
  .install-faq details p {
    padding-right:0;
    font-size:15px;
  }
  .install-request {
    grid-template-columns:1fr;
    padding:28px 24px;
    gap:28px;
    margin-top:44px;
  }
  .install-preparation {
    border-left:0;
    border-top:1px solid #dcd1c9;
    padding:26px 0 0;
  }
}
@media(max-width:370px) {
  .installation-page .install-hero h1 {
    font-size:35px;
  }
  .install-service-detail {
    margin-left:0;
  }
  .install-handover ul {
    grid-template-columns:1fr;
  }
}
