.button-dark { background: #101820; color: #fff; }
.button-dark:hover { background: #303d47; }
.portfolio-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: end; margin-bottom: 34px; }
.portfolio-heading p:last-child { max-width: 490px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.work-card { min-width: 0; background: #fff; border: 1px solid #dbe1e4; }
.work-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.work-image-link { display: block; background: #e1e6e7; overflow: hidden; }
.work-image-link img { width: 100%; height: 410px; object-fit: contain; display: block; }
.work-card:first-child .work-image-link img { height: 560px; }
.work-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; }
.work-copy .eyebrow { color: #536573; }
.work-copy h3 { font-size: clamp(28px, 3.5vw, 48px); line-height: 1.05; text-transform: uppercase; margin: 20px 0; }
.work-copy > p:not(.eyebrow) { font-size: 18px; line-height: 1.65; color: #52616b; max-width: 430px; }
.work-copy .text-link { margin-top: auto; padding-top: 28px; }
.portfolio-actions { margin-top: 30px; }
.public-empty { margin: 22px 0; color: #56656e; line-height: 1.6; }
.documents-section { background: #fff; padding-block: 76px; }
.document-list { display: grid; gap: 18px; }
.document-card { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 26px; border: 1px solid #d3dce1; padding: 28px 32px; }
.document-mark { width: 58px; height: 76px; display: grid; place-items: center; background: #e9edef; border: 1px solid #b7c3cc; color: #2c4554; font-weight: 700; font-size: 16px; letter-spacing: 1px; }
.document-copy h3 { font-size: 24px; line-height: 1.2; margin-bottom: 8px; }
.document-copy p { color: #52616b; font-size: 16px; line-height: 1.5; }
.document-meta { margin-top: 9px; font-size: 13px !important; letter-spacing: .3px; }
.document-card a { white-space: nowrap; min-height: 46px; }
.addresses-section { position: relative; z-index: 1; max-width: 920px; margin: 40px auto 0; border-top: 1px solid #46545f; padding-top: 28px; text-align: left; }
.addresses-section h3 { font-size: 16px; letter-spacing: .7px; line-height: 1.4; text-transform: uppercase; }
.address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; margin-top: 22px; }
.address-card h4 { font-size: 22px; color: #fff; margin-bottom: 4px; }
.address-card .address-label { font-size: 13px; color: #b6c4cd; margin-bottom: 13px; }
.address-card address { font-style: normal; font-size: 17px; line-height: 1.7; color: #fff; }
.address-grid .public-empty { color: #b6c4cd; }
.management-link { font-size: 13px; color: #bec7cd; text-underline-offset: 4px; }
.photo-dialog { width: min(960px, calc(100% - 34px)); max-height: calc(100dvh - 34px); border: 0; padding: 24px; background: #f4f6f7; color: #17252d; }
.photo-dialog::backdrop { background: #091015e8; }
.photo-dialog header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 18px; }
.photo-dialog h2 { font-size: 24px; line-height: 1.2; }
.photo-dialog button { border: 1px solid #74838d; padding: 10px 16px; background: #fff; font: inherit; cursor: pointer; }
.photo-dialog img { display: block; width: 100%; max-height: 68dvh; object-fit: contain; }
.photo-dialog p { margin-top: 18px; line-height: 1.5; font-size: 16px; }
.management-page { background: #eef1f3; color: #17252d; }
.management-header { background: #0c1014; color: #fff; padding: 28px max(26px, 5vw); display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.management-header a { color: #fff; text-underline-offset: 5px; }
.management-header strong { font-size: 24px; }
.management-main { max-width: 1150px; margin: auto; padding: 55px 28px 90px; }
.management-main h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1; margin-bottom: 20px; }
.management-notice { background: #fff; border-left: 4px solid #536f7b; padding: 22px 26px; line-height: 1.6; max-width: 850px; }
.management-nav { display: flex; gap: 14px 30px; flex-wrap: wrap; margin: 36px 0; }
.management-nav a { font-size: 18px; text-underline-offset: 5px; }
.management-panel { margin-top: 28px; padding: 30px; background: #fff; border: 1px solid #ccd6dc; }
.management-panel h2 { font-size: 28px; margin-bottom: 14px; }
.management-panel > p { color: #52616b; line-height: 1.6; max-width: 780px; }
.management-sample { display: grid; grid-template-columns: 180px 1fr; gap: 28px; margin-top: 25px; }
.management-sample img { width: 180px; height: 220px; object-fit: contain; background: #e5ebed; }
.management-sample h3 { font-size: 24px; margin-bottom: 14px; }
.management-panel label { display: grid; gap: 8px; margin: 18px 0; line-height: 1.5; }
.management-panel input, .management-panel textarea { font: inherit; width: 100%; max-width: 640px; padding: 12px; background: #f3f5f6; border: 1px solid #b5c3cc; color: #344954; opacity: 1; }
.management-panel button:disabled { opacity: 1; cursor: default; background: #e2e8ec; color: #52616b; border: 1px solid #a9bac4; font: inherit; font-weight: 700; padding: 14px 20px; margin-top: 12px; }
.management-addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.management-addresses address { font-style: normal; line-height: 1.7; margin: 18px 0; }
.brochure-management { border-top: 5px solid #17252d; }
.brochure-management > .eyebrow { margin-bottom: 12px; color: #536573; }
.brochure-steps { list-style: decimal-leading-zero; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin: 32px 0; padding-left: 25px; }
.brochure-steps li { padding-right: 15px; line-height: 1.55; }
.brochure-steps strong, .brochure-steps span { display: block; }
.brochure-steps strong { margin-bottom: 10px; font-size: 19px; }
.brochure-steps span { color: #52616b; }
.brochure-preview-choice { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: center; gap: 28px; background: #f0f3f4; padding: 24px; margin-bottom: 26px; }
.brochure-preview-choice img { display: block; object-fit: contain; width: 160px; height: 190px; }
.brochure-preview-choice h3 { font-size: 25px; margin: 12px 0; }
.brochure-preview-choice p { line-height: 1.6; color: #52616b; }
.management-panel > .management-small { font-size: 14px; margin-top: 20px; }
.management-panel a { text-decoration: underline; text-underline-offset: 4px; }
.management-contact-values { margin: 24px 0; line-height: 1.7; }
.management-team-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin-top: 25px; }
.management-team-values h3 { font-size: 21px; margin-bottom: 13px; }
.management-team-values p { color: #52616b; line-height: 1.6; }
.team-grid .team-customs { background: #f2f4f5; padding-inline: 31px; }
.contact-phone { margin-top: 10px; font-size: 18px; }
.contact-phone a { text-underline-offset: 4px; }
.management-panel, .team-grid, .document-card { overflow-wrap: anywhere; }
[aria-disabled="true"] { cursor: default; opacity: .65; }
@media (max-width: 800px) {
  .brochure-steps, .management-team-values { grid-template-columns: 1fr; }
  .brochure-steps { gap: 20px; }
  .portfolio-heading { grid-template-columns: 1fr; gap: 20px; }
  .work-card:first-child { grid-template-columns: 1fr; }
  .work-card:first-child .work-image-link img { height: 480px; }
  .document-card { grid-template-columns: 55px minmax(0, 1fr); padding: 23px; gap: 22px; }
  .document-card a { grid-column: 1 / -1; justify-self: start; }
  .document-mark { width: 50px; height: 65px; }
  .addresses-section { margin-inline: 0; }
}
@media (max-width: 500px) {
  .brochure-preview-choice { grid-template-columns: 1fr; padding: 18px; gap: 18px; }
  .brochure-preview-choice img { width: 100%; height: 220px; }
  .team-grid .team-customs { padding: 25px 23px; }
  .portfolio-grid, .address-grid, .management-addresses { grid-template-columns: 1fr; }
  .work-card:first-child { grid-column: auto; }
  .work-card:first-child .work-image-link img, .work-image-link img { height: 410px; }
  .work-copy { padding: 25px; }
  .documents-section { padding-block: 60px; }
  .photo-dialog { padding: 18px; }
  .photo-dialog h2 { font-size: 22px; }
  .management-header { align-items: flex-start; flex-direction: column; }
  .management-panel { padding: 23px; }
  .management-sample { grid-template-columns: 1fr; }
  .management-sample img { width: 100%; }
}
