/* Maintenance: preserve the established visual language. */
:focus-visible { outline: 2px solid #d4af71 !important; outline-offset: 4px; }
.header-gamburger { border: 0; padding: 0; background: transparent; cursor: pointer; }
.header-menu__wrapper[inert] { pointer-events: none; }
.nxn-sr-only,.nxn-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.portfolio-form input,.prices-form input { display: block !important; position: absolute; width: 1px; height: 1px; opacity: 0; }
.portfolio-form input:focus-visible+label,.prices-form input:focus-visible+label { outline: 2px solid #d4af71 !important; outline-offset: 5px; }
.section-7__placeholder { cursor: text; }
.nxn-form-status { min-height: 1.5em; color: #fff; font-size: 14px; line-height: 1.5; margin: 8px 0; }
.section-7__submit:disabled { cursor: wait; opacity: .65; }
.nxn-map-card { min-height: 220px; display: flex; flex-direction: column; gap: 20px; align-items: center; justify-content: center; padding: 30px; background: #242320; color: #fff; font-size: 18px; line-height: 1.6; }
.nxn-map-card a,.nxn-project-link { color: #d4af71; text-decoration: underline; text-underline-offset: 4px; }
.portfolio-list__block h2 { font: inherit; font-size: 2.4rem; line-height: 1.2; color: inherit; margin: 0 0 1rem; }
.portfolio-site__wrap .nxn-project-link { display: block; margin-bottom: 12px; font-size: 16px; }
.nxn-project { padding: 45px 0 90px; max-width: 1040px; margin: auto; font-size: 18px; line-height: 1.6; color: #fff; }
.nxn-project .inside-title { margin: 24px 0; }
.nxn-project-image { display: block; max-width: 100%; height: auto; margin: 25px 0; }
.nxn-project-description { max-width: 720px; margin: 25px 0; }
@media(max-width: 767px) { .nxn-project { padding: 35px 0 60px; font-size: 16px; } .nxn-project .inside-title { font-size: 32px; line-height: 1.2; } .nxn-map-card { padding: 24px; min-height: 180px; font-size: 16px; } }
@media(prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

.nxn-map-card iframe { display: block; border: 0; flex: none; }

.portfolio-list__link:focus-within .portfolio-list__block { opacity: 1; }
.portfolio-list__link:focus-within::after { opacity: .5; }
.portfolio-list__block h2 { font-family: Geometria, sans-serif; font-size: 50px; font-weight: 700; line-height: 45px; text-transform: uppercase; margin-top: -14px; }
@media(max-width:767px) {
  #commentForm .input-text-js,#commentForm textarea,#commentForm .section-7__placeholder,#commentForm .section-7__submit { font-size: 16px; }
  #commentForm .input-text-js,#commentForm .section-7__submit { min-height: 44px; }
  .header-gamburger { min-width: 44px; min-height: 44px; }
  .portfolio-list__block h2 { font-size: 30px; line-height: 1.15; }
}

.price-page .tab-cont[hidden] { display: none !important; }

@supports (background-image: image-set(url("test.webp") type("image/webp"))) {
  .section-7::before { background-image: image-set(url("assets/img/bg7.webp") type("image/webp"), url("assets/img/bg7.png") type("image/png")); }
  .contacts { background-image: image-set(url("assets/img/contacts.webp") type("image/webp"), url("assets/img/contacts.png") type("image/png")); }
  .price-page { background-image: image-set(url("assets/img/price.webp") type("image/webp"), url("assets/img/price.png") type("image/png")); }
}

#fp-nav ul li { width: 32px; height: 32px; margin: 4px 0; }
#fp-nav ul li a { width: 32px; height: 32px; }
.header-gamburger { min-width: 44px; min-height: 44px; }

html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html.nxn-home { font-size: calc(100vw / 192); }
@media(max-width:1023px) { html.nxn-home { font-size: calc(100vw / 102.3); } }

@media(max-width:767px) { .portfolio-list__block h2 { font-size: 24px; } .portfolio-site__wrap { bottom: 12px; } }

/* Contact map follows the site's charcoal surfaces and mint accents. */
.nxn-map-card { padding: 0; gap: 0; align-items: stretch; justify-content: flex-start; background: #141d21; border: 1px solid rgba(104,190,177,.28); color: #eef4f3; }
.nxn-map-card iframe { width: 100%; height: 320px; filter: grayscale(1) invert(.92) contrast(.9); background: #e5e5e5; }
.nxn-map-card > div { padding: 22px 26px 26px; }
.nxn-map-card p { margin: 0 0 12px; }
.nxn-map-card a { color: #8ed4c8; display: inline-flex; align-items: center; min-height: 44px; text-decoration-color: rgba(142,212,200,.55); transition: color .2s ease; }
.nxn-map-card a:hover { color: #c4eee6; }
@media(max-width:767px) { .nxn-map-card { padding: 0; } .nxn-map-card iframe { height: 300px; } .nxn-map-card > div { padding: 18px 20px 20px; } }

/* Center breadcrumb separators within the text line instead of a fixed offset. */
.breadcrumbs-list__link::after { top: 50%; transform: translateY(-50%); }
