* {
  box-sizing: border-box
}
html {
  scroll-behavior: smooth
}
body {
  margin: 0;
  background: #F5F3F8;
  color: #40324F;
  font: 17px/1.55 "Inter Tight",sans-serif
}
a {
  color: inherit;
  text-decoration: none
}
button,input,textarea {
  font: inherit
}
a,button,input,textarea,summary {
  outline-offset: 5px
}
.sidebar {
  position: absolute;
  top: 0;
  left: 0;
  width: 235px;
  min-height: 900px;
  padding: 40px 25px;
  border-right: 1px solid #D8D1E0;
  background: #fff
}
.brand {
  font: 29px/1.2 "Inter Tight"
}
.sidebar p {
  font-size: 14px;
  margin: 30px 0 45px
}
.sidebar nav {
  display: grid;
  gap: 23px;
  font-size: 15px
}
.sidebar nav a:hover {
  text-decoration: underline
}
.sidebar-cta {
  display: block;
  padding: 14px;
  border: 1px solid #8B719C;
  font-size: 15px;
  margin-top: 65px;
  text-align: center
}
main {
  margin-left: 235px
}
.hero {
  position: relative;
  min-height: 900px;
  padding: 65px 6% 65px;
  overflow: hidden
}
.hero-heading {
  position: relative;
  z-index: 2;
  max-width: 520px
}
.hero h1 {
  font: 400 64px/1.1 "Inter Tight";
  letter-spacing: -2px;
  margin: 0 0 25px
}
.hero p {
  font-size: 18px
}
.floorplan {
  position: absolute;
  right: 3%;
  bottom: 95px;
  width: 58%;
  transform: rotate(-8deg)
}
.floorplan svg {
  display: block;
  width: 100%
}
.floorplan p {
  font-size: 14px;
  text-align: right;
  margin: 0
}
.hero-action {
  position: absolute;
  bottom: 50px;
  left: 6%;
  border-bottom: 1px solid #8B719C;
  padding-bottom: 8px;
  font-size: 16px
}
section:not(.hero) {
  padding: 80px 7%
}
h2 {
  font: 400 42px/1.2 "Inter Tight";
  letter-spacing: -1px;
  margin: 0 0 35px
}
h3 {
  font: 400 28px/1.2 "Inter Tight"
}
.services {
  background: #fff
}
.management {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-items: start;
  gap: 20px;
  margin-top: 45px
}
.management>div {
  padding: 25px 22px;
  background: #F5F3F8;
  min-height: 310px;
  border-top: 7px solid #8B719C
}
.management>div:nth-child(2) {
  margin-top: 45px;
  border-color: #40324F
}
.management>div:nth-child(3) {
  margin-top: 90px;
  border-color: #BBA9C5
}
.management span {
  font-size: 14px
}
.management h3 {
  font-size: 25px
}
.management p {
  font-size: 16px
}
.management-line {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid #8B719C;
  margin-top: 40px;
  padding: 0 0 15px;
  font-size: 15px
}
.asset-profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px
}
.asset-picker {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 30px
}
.asset-picker button {
  border: 1px solid #8B719C;
  background: transparent;
  padding: 11px 18px;
  color: inherit;
  cursor: pointer;
  font-size: 15px
}
.asset-picker button[aria-pressed=true] {
  background: #40324F;
  color: #fff
}
.asset-description {
  padding-top: 5px
}
.asset-description h3 {
  font-size: 31px;
  margin: 0 0 25px
}
.asset-description dl div {
  padding: 15px 0;
  border-top: 1px solid #D8D1E0
}
.asset-description dt {
  font-size: 14px;
  color: #6C597A
}
.asset-description dd {
  margin: 7px 0 0
}
.work {
  background: #40324F;
  color: white
}
.work ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px 60px;
  padding-left: 24px
}
.work li {
  padding-left: 10px
}
.work b {
  font-size: 21px;
  font-weight: 400
}
.work p {
  color: #D8D1E0
}
.owner-report {
  background: #fff
}
.report-questions {
  display: grid;
  gap: 15px
}
.report-questions article {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 40px;
  border-top: 1px solid #D8D1E0;
  padding: 20px 0
}
.report-questions h3 {
  margin: 0
}
.report-questions p {
  margin: 0
}
.note {
  font-size: 14px
}
details {
  border-top: 1px solid #BBA9C5;
  padding: 22px 0
}
summary {
  font-size: 21px;
  cursor: pointer
}
details p {
  max-width: 800px
}
.contact {
  background: #E5DFEB
}
.contact>p {
  margin-bottom: 35px
}
.contact a {
  overflow-wrap: anywhere
}
form {
  display: grid;
  gap: 18px;
  max-width: 800px
}
.form-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px
}
label {
  display: grid;
  gap: 6px
}
input,textarea {
  padding: 12px;
  border: 0;
  border-bottom: 1px solid #8B719C;
  border-radius: 0;
  width: 100%;
  background: #F5F3F8;
  color: #40324F
}
.consent {
  display: flex;
  gap: 10px;
  font-size: 14px
}
.consent input {
  width: 20px;
  height: 20px;
  flex: none
}
form button {
  justify-self: start;
  padding: 16px 25px;
  background: #40324F;
  color: #fff;
  border: 0;
  cursor: pointer
}
[role=status] {
  font-size: 15px;
  margin: 0
}
footer {
  padding: 35px 7%;
  font-size: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px
}
footer span {
  font: 24px "Inter Tight"
}
footer p {
  margin: 0;
  grid-column: 1/-1
}
@media(max-width:950px) {
  .sidebar {
    position: static;
    width: auto;
    min-height: 0;
    border: 0;
    padding: 25px 6%;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap
  }
  .brand {
    font-size: 25px
  }
  .sidebar p {
    margin: 0;
    font-size: 14px
  }
  .sidebar nav {
    width: 100%;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 14px
  }
  .sidebar-cta {
    margin: 0;
    padding: 10px 15px;
    font-size: 14px;
    display: none
  }
  main {
    margin-left: 0
  }
  .hero {
    min-height: 740px;
    padding: 35px 6%
  }
  .hero h1 {
    font-size: 47px;
    letter-spacing: -1.5px
  }
  .hero p {
    font-size: 17px
  }
  .floorplan {
    width: 85%;
    bottom: 105px;
    right: 6%;
    transform: rotate(-6deg)
  }
  .floorplan p {
    font-size: 14px
  }
  .hero-action {
    bottom: 35px;
    font-size: 15px
  }
  section:not(.hero) {
    padding: 60px 6%
  }
  h2 {
    font-size: 33px
  }
  .management {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 25px
  }
  .management>div {
    min-height: 0
  }
  .management>div:nth-child(2),.management>div:nth-child(3) {
    margin: 0
  }
  .management h3 {
    margin: 15px 0
  }
  .management h3 br {
    display: none
  }
  .management-line {
    font-size: 14px
  }
  .asset-profile {
    grid-template-columns: 1fr;
    gap: 30px
  }
  .work ol {
    grid-template-columns: 1fr;
    gap: 20px
  }
  .report-questions article {
    grid-template-columns: 1fr;
    gap: 12px
  }
  .report-questions h3 {
    font-size: 26px
  }
  .form-top {
    grid-template-columns: 1fr;
    gap: 18px
  }
  .contact a {
    font-size: 15px
  }
  footer {
    grid-template-columns: 1fr
  }
  footer p {
    grid-column: auto
  }
}
@media(max-width:360px) {
  .hero h1 {
    font-size: 41px
  }
  .hero {
    min-height: 720px
  }
  .floorplan {
    bottom: 125px
  }
  .sidebar p {
    font-size: 14px
  }
  .brand {
    font-size: 22px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
}
.hero-heading {
  max-width: 650px
}
.hero h1 {
  font-size: 60px
}
.management {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 35px;
  border-top: 1px solid #D8D1E0
}
.management>div {
  display: grid;
  grid-template-columns: 140px 1fr 1.2fr;
  align-items: center;
  gap: 30px;
  min-height: 145px;
  border: 0;
  border-bottom: 1px solid #D8D1E0;
  padding: 22px 20px;
  background: transparent
}
.management>div:nth-child(2),.management>div:nth-child(3) {
  margin: 0;
  border-color: #D8D1E0
}
.management>div:nth-child(2) {
  background: #F5F3F8
}
.management h3 {
  margin: 0;
  font-size: 26px
}
.management p {
  margin: 0;
  font-size: 17px
}
.management span {
  font-size: 16px;
  color: #6C597A
}
.management-line {
  background: #40324F;
  color: #fff;
  padding: 18px 22px;
  border: 0;
  margin-top: 25px
}
.floorplan {
  transform: rotate(-4deg)
}
@media(max-width:950px) {
  .hero h1 {
    font-size: 43px
  }
  .management>div {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    padding: 25px 18px
  }
  .management h3 {
    font-size: 26px
  }
  .management-line {
    padding: 16px 10px
  }
  .floorplan {
    transform: none
  }
}
@media(max-width:360px) {
  .hero h1 {
    font-size: 37px
  }
}
.management span {
  font: 400 21px 'Inter Tight';
  color: #40324F
}
.management p {
  line-height: 1.65
}
.sidebar-cta {
  border-color: #40324F
}
.management-line span {
  font-size: 16px
}
.hero-action {
  font-size: 18px
}
@media(max-width:950px) {
  .hero h1 {
    font-size: 39px;
    line-height: 1.18
  }
  .management span {
    font-size: 20px
  }
  .hero-action {
    font-size: 16px
  }
}
@media(max-width:360px) {
  .hero h1 {
    font-size: 34px
  }
}



/* Task 12 */
.hero h1{font-weight:500}.sidebar .brand{font-weight:600}.floorplan p{color:#40324F}
@media(max-width:850px){.sidebar{padding:20px 6%}.hero{min-height:0;padding:28px 6%;display:flex;flex-direction:column;gap:22px}.hero h1{font-size:39px}.hero p{font-size:16px}.floorplan{position:static;transform:none;width:100%}.floorplan svg text{font-size:28px}.hero-action{position:static;font-size:14px}.floorplan p{font-size:14px}}

/* Этап 15: самостоятельная фотоподача */
.hero{grid-template-columns:1fr 1.1fr;gap:35px}.visual-hero{margin:0;height:610px;overflow:hidden}.visual-hero img{width:100%;height:100%;object-fit:cover}.services .visual-process{grid-column:1/-1;margin:35px 0 0}.visual-process img{width:100%;height:340px;object-fit:cover}.asset-profile .visual-detail{margin:35px 0 0;grid-column:1/-1}.visual-detail img{width:100%;height:360px;object-fit:cover}.technical-inset{grid-column:1/-1}.technical-inset .floorplan{max-width:650px;margin:30px auto}.visual-hero img{transition:transform 1s}.visual-hero:hover img{transform:scale(1.04)}@media(max-width:850px){.hero{display:flex;flex-direction:column;padding:30px 6%;gap:22px}.visual-hero{height:340px;width:100%}.visual-process img,.visual-detail img{height:240px}}
.visual-process,.visual-detail{min-width:0}.visual-process img,.visual-detail img{display:block;max-width:100%}figcaption{font-size:14px;line-height:1.5;margin-top:10px}.visual-disclosure{font-size:14px;line-height:1.6;padding:20px 6%;margin:0}.technical-inset svg{width:100%;display:block}.technical-inset{min-width:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.visual-hero img{transform:none!important}}

@media(min-width:851px){.hero{display:grid;align-items:center;min-height:900px;padding-top:45px;padding-bottom:90px}.hero h1{font-size:55px;line-height:1.04}.hero-heading{max-width:none}.hero-action{bottom:35px}}

/* Самокритика 15, проход 1 */
.technical-inset{position:relative}.technical-inset .floorplan{position:static;inset:auto;transform:none;width:100%}@media(max-width:850px){.visual-hero{height:285px}.hero{gap:18px}}@media(max-width:360px){.visual-hero{height:250px}.hero h1{font-size:34px}}
