.page-intro { padding-top: 35px; padding-bottom: 65px; border-bottom: 1px solid var(--line); }
.page-intro.has-image { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.page-intro-copy { max-width: 840px; }
.back-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin-bottom: 24px; font-size: 11px; color: var(--muted); }
.page-intro h1 { margin-top: 21px; max-width: 920px; }
.page-intro .hero-intro { max-width: 740px; margin-top: 27px; }
.page-intro.has-image .hero-intro { max-width: 470px; }
.page-intro-photo { height: 530px; }
.page-intro-action { max-width: 320px; margin-top: 30px; }
.service-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.service-overview h2 { max-width: 550px; margin-top: 20px; }
.service-overview > div:last-child { padding-top: 15px; font-size: 15px; color: var(--muted); }
.service-zones { padding-top: 0; }
.service-zones > h2 { margin-bottom: 35px; }
.zone-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.zone-card { padding: 28px 25px; }
.zone-card:first-child { padding-left: 0; }
.zone-card + .zone-card { border-left: 1px solid var(--line); }
.zone-card h3 { margin-top: 20px; font-size: 26px; }
.zone-card .check-list { margin-top: 22px; color: var(--muted); font-size: 12px; }
.zone-card .check-list li { margin-top: 12px; }
.scope-band { padding-block: 62px; background: var(--ink); color: var(--paper); }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.scope-grid h2 { font-size: 34px; }
.scope-grid ul { margin-top: 25px; padding-left: 19px; font-size: 13px; }
.scope-grid li { padding-left: 3px; margin-top: 12px; }
.preparation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.preparation-grid h2 { font-size: 35px; }
.plain-list { margin-top: 28px; padding-left: 19px; color: var(--muted); font-size: 14px; }
.plain-list li { padding-left: 4px; margin-top: 14px; }
.service-limit { padding: 38px 40px; margin-bottom: 80px; background: var(--white); border: 1px solid var(--line); }
.service-limit h2 { margin-top: 20px; max-width: 900px; font-size: 35px; }
.service-limit > p:last-of-type { max-width: 900px; margin-top: 23px; font-size: 14px; color: var(--muted); }
.service-practical { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding-top: 25px; margin-top: 30px; border-top: 1px solid var(--line); }
.service-practical p { color: var(--muted); font-size: 12px; }
.service-practical strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 11px; }
.about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.about-story p { margin-top: 26px; color: var(--muted); font-size: 15px; }
.about-photo { height: 410px; }
.values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 55px; padding-top: 0; }
.values-grid article { padding-top: 25px; border-top: 1px solid var(--line); }
.values-grid h2 { margin-top: 22px; font-size: 31px; }
.values-grid p:last-child { margin-top: 20px; font-size: 14px; color: var(--muted); }
.care-band { padding-block: 65px; background: var(--ink); color: var(--paper); }
.care-band h2 { margin-top: 20px; }
.care-band .shell > p:last-child { margin-top: 24px; max-width: 820px; font-size: 14px; }
.full-team .person-card { grid-template-columns: 0.85fr 1fr; }
.full-team .portrait { height: 430px; }
.profile-detail { padding-top: 17px; border-top: 1px solid var(--line); font-size: 12px !important; }
.privacy-layout { display: grid; grid-template-columns: 0.65fr 1.5fr; gap: 100px; padding-top: 65px; padding-bottom: 80px; }
.privacy-layout > nav { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 10px; font-size: 13px; }
.privacy-layout > nav a { padding-block: 4px; border-bottom: 1px solid var(--line); }
.privacy-copy section { padding-bottom: 35px; margin-bottom: 30px; border-bottom: 1px solid var(--line); }
.privacy-copy h2 { font-size: 32px; }
.privacy-copy p { margin-top: 23px; font-size: 14px; color: var(--muted); }
.not-found { padding-block: 100px 130px; }
.not-found h1 { max-width: 850px; margin-top: 25px; }
.not-found .hero-intro { max-width: 650px; margin-top: 28px; }
.not-found .button-pair { max-width: 650px; margin-top: 40px; }

.browser-editor { padding-block: 22px; border-top: 1px solid var(--line); }
.browser-editor .text-link { width: fit-content; font-size: 13px; }
.browser-editor > p { max-width: 700px; margin-top: 12px; font-size: 12px; color: var(--muted); }
