.residential-page { --res-orange: #f47721; }
.active-link { color: var(--orange-dark) !important; }
.footer-links { display: flex; align-items: center; gap: 26px; font-size: 13px; font-weight: 600; }
.footer-links > a:first-child { color: #d6d9d9; }
.res-hero { min-height: 760px; padding: 155px 0 34px; background: #f0f0ec; display: flex; flex-direction: column; }
.res-hero-grid { flex: 1; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 68px; }
.res-hero-copy h1 { max-width: 580px; }
.res-hero-visual { position: relative; }
.res-hero-visual .image-frame { box-shadow: -20px 22px 0 #d9d9d3; }
.res-vertical-label { position: absolute; right: -19px; top: 34px; padding: 15px 10px; background: var(--orange); color: var(--ink); font: 700 10px/1.15 var(--heading); letter-spacing: .12em; writing-mode: vertical-rl; transform: rotate(180deg); }
.res-vertical-label strong { font-size: 10px; }
.res-intro { background: white; }
.res-benefits { background: #f9f9f7; }
.res-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.res-benefit-grid article { min-height: 330px; padding: 25px; border: 1px solid var(--line); display: flex; flex-direction: column; background: white; }
.res-benefit-grid article:nth-child(2) { background: var(--orange); border-color: var(--orange); }
.res-number { font: 600 13px var(--heading); letter-spacing: .1em; opacity: .65; }
.res-benefit-icon { width: 43px; height: 43px; display: grid; place-items: center; margin-top: auto; margin-bottom: 24px; border: 1px solid currentColor; border-radius: 50%; font-size: 23px; }
.res-benefit-grid h3 { font-size: 23px; }
.res-benefit-grid p { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.res-benefit-grid article:nth-child(2) p { color: #4b2917; }
.res-dark { background: var(--ink); color: white; }
.res-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.res-steps article { min-height: 260px; padding: 25px; border: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; }
.res-steps article > span { font: 600 13px var(--heading); opacity: .6; }
.res-steps h3 { margin-top: auto; font-size: 24px; }
.res-steps p { margin: 10px 0 0; color: #b8bec0; font-size: 14px; }
.res-step-highlight { background: var(--orange); color: var(--ink); border-color: var(--orange) !important; }
.res-step-highlight p { color: #4b2917; }
.res-setup { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 52px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.2); color: #c5c9ca; font-size: 13px; }
.res-setup strong { color: var(--orange); margin-right: 12px; }
.res-setup i { width: 4px; height: 4px; border-radius: 50%; background: var(--orange); }
.res-partnership { background: white; }
.res-partnership-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.res-partnership h2, .res-security h2 { font-size: clamp(2.35rem, 4vw, 4.1rem); line-height: 1.04; }
.res-partnership-grid > div:last-child { padding-top: 42px; color: var(--muted); font-size: 17px; }
.res-callout { display: flex; align-items: center; gap: 10px; margin-top: 35px; padding-top: 18px; border-top: 2px solid var(--orange); color: var(--ink); font-size: 15px; }
.res-security { background: var(--soft); }
.res-security-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.security-panel > p { max-width: 390px; margin-top: 27px; color: var(--muted); font-size: 17px; }
.security-list { border-top: 1px solid var(--line); }
.security-list > div { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.security-list > div > span { color: var(--orange-dark); font-size: 21px; }
.security-list h3 { font-size: 20px; }
.security-list p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.res-contact { background: white; }
@media (max-width: 900px) {
  .res-hero-grid, .res-partnership-grid, .res-security-grid { grid-template-columns: 1fr; gap: 48px; }
  .res-hero { padding-top: 130px; }
  .res-hero-visual { max-width: 690px; }
  .res-partnership-grid > div:last-child { padding-top: 0; }
  .res-benefit-grid, .res-steps { grid-template-columns: 1fr; }
  .res-benefit-grid article, .res-steps article { min-height: 255px; }
}
@media (max-width: 680px) {
  .res-hero { padding-top: 110px; min-height: auto; }
  .res-hero-copy h1 { font-size: clamp(3rem, 14vw, 4.3rem); }
  .res-hero-visual { margin-top: 7px; }
  .res-hero-visual .image-frame { box-shadow: -10px 12px 0 #d9d9d3; }
  .res-vertical-label { right: -6px; top: 15px; font-size: 8px; }
  .res-vertical-label strong { font-size: 8px; }
  .footer-links { align-items: flex-start; flex-direction: column; gap: 10px; }
  .res-partnership h2, .res-security h2 { font-size: 2.5rem; }
  .res-setup { align-items: flex-start; flex-direction: column; gap: 10px; }
  .res-setup strong { margin-right: 0; }
  .res-setup i { display: none; }
}
