
:root {

  --page: min(calc(100vw - 64px), 1320px);

  --section-space: clamp(80px, 7vw, 120px);

}



/* Общая широкая сетка */

.site-header {

  padding-inline: max(32px, calc((100vw - 1760px) / 2));

}



.section-heading {

  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.55fr);

  gap: clamp(40px, 5vw, 80px);

}



.section-heading > p {

  justify-self: start;

  max-width: 440px;

}



/* Второй блок */

.intro-grid {

  grid-template-columns: minmax(0, 1.1fr) minmax(380px, 0.7fr);

  align-items: start;

  gap: clamp(50px, 6vw, 90px);

}



.intro h2 {

  font-size: clamp(58px, 4.5vw, 84px);

}



.intro-copy {

  justify-self: start;

  max-width: 470px;

  padding-top: 8px;

}



.intro-visual {

  width: 100%;

  height: clamp(390px, 29vw, 520px);

  margin: 28px 0 0;

  border-radius: 22px;

}



.intro-visual img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}



/* Портфолио не растягивается */

.projects {

  padding-inline: max(32px, calc((100vw - 1320px) / 2));

}



.projects .section-heading,

.project-grid,

.projects-footer {

  width: 100%;

  max-width: 1320px;

}



.project-grid {

  min-height: 760px;

}



/* Тёмный блок и форма по общей сетке */

.process,

.brief {

  padding-inline: max(32px, calc((100vw - 1320px) / 2));

}



/* Новая форма */

.brief {

  grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1fr);

  align-items: center;

  gap: clamp(50px, 7vw, 100px);

}



.brief-form,

.modal-form {

  display: grid !important;

  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  gap: 18px !important;

  width: 100% !important;

  padding: clamp(26px, 3vw, 42px) !important;

  border: 1px solid rgba(21, 23, 25, 0.1) !important;

  border-radius: 24px !important;

  color: #151719 !important;

  background: #fff !important;

  box-shadow: 0 25px 70px rgba(56, 12, 10, 0.18) !important;

}



.brief-form label span,

.modal-form label span {

  display: block !important;

  margin-bottom: 8px !important;

  color: #686b6d !important;

  font-size: 11px !important;

  font-weight: 700 !important;

  letter-spacing: 0.08em !important;

  text-transform: uppercase !important;

}



.brief-form input,

.brief-form textarea,

.modal-form input,

.modal-form textarea {

  width: 100% !important;

  padding: 15px 16px !important;

  border: 1px solid #d8d8d3 !important;

  border-radius: 10px !important;

  outline: none !important;

  color: #151719 !important;

  background: #f5f5f2 !important;

}



.brief-form textarea,

.modal-form textarea {

  min-height: 135px !important;

  resize: vertical !important;

}



.brief-form input::placeholder,

.brief-form textarea::placeholder,

.modal-form input::placeholder,

.modal-form textarea::placeholder {

  color: #929496 !important;

  opacity: 1 !important;

}



.brief-form input:focus,

.brief-form textarea:focus,

.modal-form input:focus,

.modal-form textarea:focus {

  border-color: #151719 !important;

  background: #fff !important;

  box-shadow: 0 0 0 3px rgba(21, 23, 25, 0.08) !important;

}



.brief-form .form-wide,

.modal-form .form-wide {

  grid-column: 1 / -1 !important;

}



.brief-form button[type="submit"],

.modal-form button[type="submit"] {

  width: 100% !important;

  min-height: 58px !important;

  border: 0 !important;

  border-radius: 10px !important;

  color: #fff !important;

  background: #151719 !important;

  font-weight: 700 !important;

}



.brief-form button[type="submit"]:hover,

.modal-form button[type="submit"]:hover {

  background: #bd2723 !important;

}



.lead-modal {

  width: min(92vw, 800px) !important;

}



/* Планшет */

@media (max-width: 1050px) {

  :root {

    --page: 90vw;

  }



  .intro-grid,

  .brief {

    grid-template-columns: 1fr;

  }



  .intro-copy {

    max-width: 720px;

  }



  .intro-visual {

    height: clamp(340px, 55vw, 560px);

  }



  .projects {

    padding-inline: 5vw;

  }



  .project-grid {

    min-height: 0;

  }



  .brief-form {

    width: min(100%, 760px) !important;

  }

}



/* Телефон */

@media (max-width: 700px) {

  .intro h2 {

    font-size: clamp(44px, 12vw, 64px);

  }



  .intro-visual {

    height: 72vw;

    min-height: 280px;

  }



  .brief-form,

  .modal-form {

    grid-template-columns: 1fr !important;

    padding: 20px !important;

    border-radius: 18px !important;

  }



  .brief-form > *,

  .modal-form > * {

    grid-column: 1 !important;

  }

}




/* Second block: all text left, image right */

.intro-grid {

  display: grid;

  grid-template-columns: minmax(460px, 0.82fr) minmax(560px, 1.18fr);

  grid-template-rows: auto 1fr;

  align-items: start;

  gap: 38px clamp(60px, 7vw, 110px);

}



.intro-title-wrap {

  display: contents;

}



.intro-title-wrap h2 {

  grid-column: 1;

  grid-row: 1;

}



.intro-copy {

  grid-column: 1;

  grid-row: 2;

  align-self: start;

  justify-self: start;

  max-width: 500px;

  padding-top: 0;

}



.intro-visual {

  grid-column: 2;

  grid-row: 1 / span 2;

  width: 100%;

  height: 100%;

  min-height: 620px;

  margin: 0;

}



.intro-visual img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}



@media (max-width: 1050px) {

  .intro-grid {

    grid-template-columns: 1fr;

    grid-template-rows: auto auto auto;

    gap: 28px;

  }



  .intro-title-wrap h2 {

    grid-column: 1;

    grid-row: 1;

  }



  .intro-copy {

    grid-column: 1;

    grid-row: 2;

    max-width: 720px;

  }



  .intro-visual {

    grid-column: 1;

    grid-row: 3;

    min-height: 420px;

    height: 56vw;

  }

}



@media (max-width: 700px) {

  .intro-visual {

    height: 72vw;

    min-height: 280px;

  }

}




@media (max-width: 700px) {

  .hero-projects {

    display: none !important;

  }



  .hero-copy {

    padding-bottom: 28px !important;

  }

}




@media (max-width: 700px) {

  .cost .section-heading {

    display: flex !important;

    grid-template-columns: none !important;

    align-items: flex-start !important;

    flex-direction: column !important;

    gap: 24px !important;

    width: 100% !important;

    margin-bottom: 34px !important;

  }



  .cost .section-heading > div {

    width: 100% !important;

  }



  .cost .section-heading h2 {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    font-size: clamp(42px, 12vw, 58px) !important;

    line-height: 0.94 !important;

    letter-spacing: -0.055em !important;

    overflow-wrap: normal !important;

  }



  .cost .section-heading > p {

    position: static !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    font-size: 16px !important;

    line-height: 1.5 !important;

  }



  .cost-factors {

    display: flex !important;

    flex-wrap: wrap !important;

    gap: 8px !important;

  }



  .cost-factors span {

    padding: 10px 12px !important;

    font-size: 11px !important;

    white-space: normal !important;

  }

}




@media (max-width: 700px) {

  .cost .section-heading {

    display: flex !important;

    grid-template-columns: none !important;

    align-items: flex-start !important;

    flex-direction: column !important;

    gap: 24px !important;

    width: 100% !important;

    margin-bottom: 34px !important;

  }



  .cost .section-heading > div {

    width: 100% !important;

  }



  .cost .section-heading h2 {

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    font-size: clamp(42px, 12vw, 58px) !important;

    line-height: 0.94 !important;

    letter-spacing: -0.055em !important;

    overflow-wrap: normal !important;

  }



  .cost .section-heading > p {

    position: static !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    font-size: 16px !important;

    line-height: 1.5 !important;

  }



  .cost-factors {

    display: flex !important;

    flex-wrap: wrap !important;

    gap: 8px !important;

  }



  .cost-factors span {

    padding: 10px 12px !important;

    font-size: 11px !important;

    white-space: normal !important;

  }

}




@media (max-width: 700px) {

  .projects .section-heading {

    display: flex !important;

    grid-template-columns: none !important;

    align-items: flex-start !important;

    flex-direction: column !important;

    gap: 18px !important;

    width: 100% !important;

    margin-bottom: 34px !important;

  }



  .projects .section-heading > div {

    width: 100% !important;

  }



  .projects .section-heading h2 {

    width: 100% !important;

    margin: 0 !important;

    font-size: clamp(46px, 14vw, 64px) !important;

    line-height: 0.92 !important;

    letter-spacing: -0.06em !important;

  }



  .projects .section-heading > p {

    position: static !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    font-size: 15px !important;

    line-height: 1.45 !important;

  }

}




/* Contacts in header and footer */

.nav-contacts {

  display: flex;

  align-items: center;

  gap: 8px;

  margin-left: 14px;

  padding-left: 18px;

  border-left: 1px solid rgba(21, 23, 25, 0.18);

}



.contact-phone {

  margin-right: 4px;

  font-size: 13px;

  font-weight: 700;

  white-space: nowrap;

}



.social-icon {

  display: inline-flex;

  width: 34px;

  height: 34px;

  flex: 0 0 34px;

  align-items: center;

  justify-content: center;

  border: 1px solid currentColor;

  border-radius: 50%;

  font-size: 9px;

  font-weight: 800;

  letter-spacing: -0.02em;

  transition: color 160ms ease, background 160ms ease;

}



.social-icon:hover {

  border-color: #e23832;

  color: #fff;

  background: #e23832;

}



.social-icon.is-disabled {

  cursor: default;

  opacity: 0.48;

}



.footer-contacts {

  display: flex;

  align-items: flex-start;

  flex-direction: column;

  gap: 14px;

}



.footer-phone {

  color: #fff;

  font-size: clamp(18px, 1.6vw, 25px);

  font-weight: 700;

  white-space: nowrap;

}



.footer-socials {

  display: flex;

  gap: 8px;

}



.footer-socials .social-icon {

  color: #fff;

}



@media (max-width: 1050px) {

  .nav-contacts {

    align-items: flex-start;

    flex-wrap: wrap;

    margin: 28px 0 0;

    padding: 28px 0 0;

    border-top: 1px solid rgba(21, 23, 25, 0.18);

    border-left: 0;

  }



  .contact-phone {

    width: 100%;

    margin-bottom: 8px;

    font-size: 20px;

  }

}



@media (max-width: 700px) {

  .site-footer {

    gap: 28px;

  }



  .footer-contacts {

    width: 100%;

  }



  .footer-phone {

    font-size: 22px;

  }

}




/* STEPS AND FILES IN FINAL FORM */

.brief-copy {

  align-content: start;

}



.brief-steps {

  margin: 32px 0 0;

  padding: 0;

  list-style: none;

  counter-reset: brief-step;

}



.brief-steps li {

  counter-increment: brief-step;

  display: grid;

  grid-template-columns: 42px 1fr;

  gap: 2px 14px;

  padding: 17px 0;

  border-top: 1px solid rgba(255,255,255,.28);

}



.brief-steps li::before {

  content: "0" counter(brief-step);

  grid-row: 1 / 3;

  color: rgba(255,255,255,.72);

  font-size: 13px;

  font-weight: 700;

}



.brief-steps strong {

  color: #fff;

  font-size: 16px;

}



.brief-steps span {

  color: rgba(255,255,255,.76);

  font-size: 14px;

  line-height: 1.45;

}



.brief-file small {

  display: block;

  margin-top: 8px;

  color: #777;

  font-size: 12px;

  line-height: 1.4;

}



.brief-file input[type="file"] {

  padding: 9px !important;

  cursor: pointer;

}



.brief-file input[type="file"]::file-selector-button {

  margin-right: 14px;

  padding: 10px 14px;

  border: 0;

  border-radius: 7px;

  color: #fff;

  background: #151719;

  font-weight: 700;

  cursor: pointer;

}



@media (max-width: 700px) {

  .brief-steps {

    margin-top: 22px;

  }



  .brief-steps li {

    grid-template-columns: 34px 1fr;

    padding: 14px 0;

  }

}




/* Contacts in header and footer */

.nav-contacts {

  display: flex;

  align-items: center;

  gap: 8px;

  margin-left: 14px;

  padding-left: 18px;

  border-left: 1px solid rgba(21, 23, 25, 0.18);

}



.contact-phone {

  margin-right: 4px;

  font-size: 13px;

  font-weight: 700;

  white-space: nowrap;

}



.social-icon {

  display: inline-flex;

  width: 34px;

  height: 34px;

  flex: 0 0 34px;

  align-items: center;

  justify-content: center;

  border: 1px solid currentColor;

  border-radius: 50%;

  font-size: 9px;

  font-weight: 800;

  letter-spacing: -0.02em;

  transition: color 160ms ease, background 160ms ease;

}



.social-icon:hover {

  border-color: #e23832;

  color: #fff;

  background: #e23832;

}



.social-icon.is-disabled {

  cursor: default;

  opacity: 0.48;

}



.footer-contacts {

  display: flex;

  align-items: flex-start;

  flex-direction: column;

  gap: 14px;

}



.footer-phone {

  color: #fff;

  font-size: clamp(18px, 1.6vw, 25px);

  font-weight: 700;

  white-space: nowrap;

}



.footer-socials {

  display: flex;

  gap: 8px;

}



.footer-socials .social-icon {

  color: #fff;

}



@media (max-width: 1050px) {

  .nav-contacts {

    align-items: flex-start;

    flex-wrap: wrap;

    margin: 28px 0 0;

    padding: 28px 0 0;

    border-top: 1px solid rgba(21, 23, 25, 0.18);

    border-left: 0;

  }



  .contact-phone {

    width: 100%;

    margin-bottom: 8px;

    font-size: 20px;

  }

}



@media (max-width: 700px) {

  .site-footer {

    gap: 28px;

  }



  .footer-contacts {

    width: 100%;

  }



  .footer-phone {

    font-size: 22px;

  }

}




/* HEADER AND FOOTER CONTACTS */

.nav-contacts,

.footer-socials {

  display: flex;

  align-items: center;

  gap: 8px;

}



.nav-contacts {

  margin-left: 4px;

}



.contact-phone,

.footer-phone {

  white-space: nowrap;

  font-size: 14px;

  font-weight: 800;

  letter-spacing: -0.02em;

}



.social-link {

  display: grid !important;

  flex: 0 0 auto;

  width: 34px;

  height: 34px;

  padding: 8px;

  place-items: center;

  border: 1px solid rgba(21,23,25,.18);

  border-radius: 50%;

  background: transparent;

  transition: background .18s ease, transform .18s ease;

}



.social-link::after {

  display: none !important;

}



.social-link img {

  display: block;

  width: 100%;

  height: 100%;

}



.social-link:hover {

  background: #fff;

  transform: translateY(-2px);

}



.social-disabled {

  cursor: default;

  opacity: .38;

}



.footer-contacts {

  display: grid;

  gap: 12px;

}



.footer-phone {

  color: #fff;

}



.site-footer {

  grid-template-columns: 1fr 1fr 1fr auto auto !important;

}



.site-footer .social-link {

  border-color: rgba(255,255,255,.3);

}



.site-footer .social-link img {

  filter: invert(1);

}



@media (max-width: 1250px) and (min-width: 1051px) {

  .contact-phone {

    display: none;

  }



  .site-nav {

    gap: 15px !important;

  }

}



@media (max-width: 1050px) {

  .nav-contacts {

    margin: 22px 0 0;

    font-size: 14px;

    letter-spacing: 0;

  }



  .contact-phone {

    margin-right: 8px;

    font-size: 16px;

  }



  .social-link {

    width: 40px;

    height: 40px;

    padding: 10px;

  }



  .site-footer {

    grid-template-columns: 1fr 1fr !important;

  }

}



@media (max-width: 700px) {

  .site-footer {

    grid-template-columns: 1fr !important;

  }

}




/* CONTACTS BEFORE CTA */

.nav-contacts {

  order: 10;

}



.site-nav .nav-cta {

  order: 20;

  margin-left: 10px;

}



.social-disabled {

  opacity: 1 !important;

}



.social-disabled img {

  opacity: 1 !important;

  filter: none !important;

}




/* Instagram: black in header, white in footer */

.site-header .social-disabled img {

  filter: none !important;

}



.site-footer .social-disabled img {

  filter: invert(1) !important;

}




/* Instagram: black in header, white in footer */

.site-header .social-disabled img {

  filter: none !important;

}



.site-footer .social-disabled img {

  filter: invert(1) !important;

}




/* ADDITIONAL MODEL OPTIONS */

.cost-extras {

  margin-top: clamp(42px, 5vw, 72px);

}



.cost-extras h3 {

  margin: 0 0 22px;

  font-size: clamp(20px, 1.7vw, 28px);

  letter-spacing: -0.035em;

}



.cost-options {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  margin: 0;

  padding: 0;

  border-top: 1px solid #cfcfca;

  list-style: none;

}



.cost-options li {

  min-height: 88px;

  padding: 22px 24px 22px 0;

  border-bottom: 1px solid #cfcfca;

  color: #292b2d;

  font-size: 16px;

  font-weight: 700;

  line-height: 1.35;

}



.cost-options li:not(:nth-child(3n + 1)) {

  padding-left: 24px;

  border-left: 1px solid #cfcfca;

}



@media (max-width: 900px) {

  .cost-options {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }



  .cost-options li:nth-child(3n + 1) {

    padding-left: 24px;

    border-left: 1px solid #cfcfca;

  }



  .cost-options li:nth-child(2n + 1) {

    padding-left: 0;

    border-left: 0;

  }

}



@media (max-width: 600px) {

  .cost-extras {

    margin-top: 34px;

  }



  .cost-options {

    grid-template-columns: 1fr;

  }



  .cost-options li,

  .cost-options li:nth-child(n) {

    min-height: auto;

    padding: 17px 0;

    border-left: 0;

  }

}




/* FIX PROJECT CARDS V16 */

html {

  scroll-padding-top: 105px;

}



section[id] {

  scroll-margin-top: 105px;

}



.project-card {

  position: relative !important;

  isolation: isolate;

  background: #ddd;

}



.project-card > img {

  position: absolute !important;

  inset: 0 !important;

  z-index: 0;

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  max-width: none !important;

  object-fit: cover !important;

}



.project-card .project-caption {

  z-index: 2;

}



/* HEADER WIDTH FIX */

.site-header .brand {

  flex: 0 0 auto;

}



.site-header .site-nav {

  min-width: 0;

}



.site-nav .nav-cta {

  flex: 0 0 auto;

  white-space: nowrap;

}



@media (max-width: 1550px) and (min-width: 1051px) {

  .site-header {

    padding-inline: 22px !important;

  }



  .site-nav {

    gap: 18px !important;

  }



  .nav-contacts {

    margin-left: 0 !important;

    padding-left: 14px !important;

  }



  .contact-phone {

    display: none !important;

  }



  .social-link {

    width: 32px !important;

    height: 32px !important;

    padding: 8px !important;

  }



  .site-nav .nav-cta {

    margin-left: 2px !important;

    padding-inline: 14px !important;

  }

}



@media (max-width: 700px) {

  html {

    scroll-padding-top: 78px;

  }



  section[id] {

    scroll-margin-top: 78px;

  }



  .project-card {

    min-height: 72vw !important;

  }

}




/* PROJECT HEADING FIX V18 */

.projects .projects-heading {

  align-items: start !important;

  margin-bottom: clamp(32px, 3.5vw, 52px) !important;

}



.projects-heading-copy {

  display: flex !important;

  width: 100%;

  max-width: 440px;

  align-items: flex-start;

  flex-direction: column;

  gap: 22px;

}



.projects-heading-copy p {

  margin: 0 !important;

  color: #686b6d;

  line-height: 1.5;

}



.projects-gallery-button {

  min-width: 245px;

  white-space: nowrap;

}



@media (max-width: 700px) {

  .projects .projects-heading {

    gap: 18px !important;

    margin-bottom: 28px !important;

  }



  .projects-heading-copy {

    max-width: none;

    gap: 18px;

  }



  .projects-gallery-button {

    width: 100%;

    min-width: 0;

    min-height: 54px;

  }

}




/* PROJECTS STAT V19 */

.projects .projects-heading {

  grid-template-columns:

    minmax(350px, 1fr)

    minmax(210px, .48fr)

    minmax(340px, .72fr) !important;

  gap: clamp(36px, 4vw, 70px) !important;

}



.projects-heading-stat {

  display: flex;

  align-items: flex-start;

  flex-direction: column;

  padding-top: 4px;

}



.projects-heading-stat strong {

  color: #e23832;

  font-size: clamp(64px, 6vw, 104px);

  font-weight: 700;

  letter-spacing: -.07em;

  line-height: .82;

}



.projects-heading-stat span {

  max-width: 240px;

  margin-top: 20px;

  color: #686b6d;

  font-size: 15px;

  line-height: 1.4;

}



.projects-footer .projects-count {

  display: none !important;

}



@media (max-width: 1050px) and (min-width: 701px) {

  .projects .projects-heading {

    grid-template-columns: 1fr 1fr !important;

  }



  .projects-heading-copy {

    grid-column: 1 / -1;

  }

}



@media (max-width: 700px) {

  .projects-heading-stat {

    display: grid;

    grid-template-columns: auto 1fr;

    gap: 18px;

    align-items: center;

    width: 100%;

    padding: 8px 0;

  }



  .projects-heading-stat strong {

    font-size: 62px;

  }



  .projects-heading-stat span {

    max-width: none;

    margin-top: 0;

    font-size: 14px;

  }

}




/* PROJECTS STAT V19 */

.projects .projects-heading {

  grid-template-columns:

    minmax(350px, 1fr)

    minmax(210px, .48fr)

    minmax(340px, .72fr) !important;

  gap: clamp(36px, 4vw, 70px) !important;

}



.projects-heading-stat {

  display: flex;

  align-items: flex-start;

  flex-direction: column;

  padding-top: 4px;

}



.projects-heading-stat strong {

  color: #e23832;

  font-size: clamp(64px, 6vw, 104px);

  font-weight: 700;

  letter-spacing: -.07em;

  line-height: .82;

}



.projects-heading-stat span {

  max-width: 240px;

  margin-top: 20px;

  color: #686b6d;

  font-size: 15px;

  line-height: 1.4;

}



.projects-footer .projects-count {

  display: none !important;

}



@media (max-width: 1050px) and (min-width: 701px) {

  .projects .projects-heading {

    grid-template-columns: 1fr 1fr !important;

  }



  .projects-heading-copy {

    grid-column: 1 / -1;

  }

}



@media (max-width: 700px) {

  .projects-heading-stat {

    display: grid;

    grid-template-columns: auto 1fr;

    gap: 18px;

    align-items: center;

    width: 100%;

    padding: 8px 0;

  }



  .projects-heading-stat strong {

    font-size: 62px;

  }



  .projects-heading-stat span {

    max-width: none;

    margin-top: 0;

    font-size: 14px;

  }

}




/* SINGLE PAGE ALIGNMENT V21 */

.projects {

  width: 100% !important;

  max-width: none !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .section-heading,

.projects .project-grid,

.projects .projects-footer {

  width: var(--page) !important;

  max-width: none !important;

  margin-right: auto !important;

  margin-left: auto !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .projects-heading {

  box-sizing: border-box !important;

}



@media (max-width: 700px) {

  .projects .section-heading,

  .projects .project-grid,

  .projects .projects-footer {

    width: 90vw !important;

  }

}




/* SINGLE PAGE ALIGNMENT V21 */

.projects {

  width: 100% !important;

  max-width: none !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .section-heading,

.projects .project-grid,

.projects .projects-footer {

  width: var(--page) !important;

  max-width: none !important;

  margin-right: auto !important;

  margin-left: auto !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .projects-heading {

  box-sizing: border-box !important;

}



@media (max-width: 700px) {

  .projects .section-heading,

  .projects .project-grid,

  .projects .projects-footer {

    width: 90vw !important;

  }

}




/* SINGLE PAGE ALIGNMENT V21 */

.projects {

  width: 100% !important;

  max-width: none !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .section-heading,

.projects .project-grid,

.projects .projects-footer {

  width: var(--page) !important;

  max-width: none !important;

  margin-right: auto !important;

  margin-left: auto !important;

  padding-right: 0 !important;

  padding-left: 0 !important;

}



.projects .projects-heading {

  box-sizing: border-box !important;

}



@media (max-width: 700px) {

  .projects .section-heading,

  .projects .project-grid,

  .projects .projects-footer {

    width: 90vw !important;

  }

}




/* PROJECT STAT HORIZONTAL V22 */

.projects .projects-heading {

  grid-template-columns:

    minmax(300px, 1fr)

    minmax(360px, .9fr)

    minmax(340px, .8fr) !important;

  gap: clamp(32px, 4vw, 64px) !important;

}



.projects-heading-stat {

  display: grid !important;

  grid-template-columns: auto minmax(160px, 1fr) !important;

  gap: 22px !important;

  align-items: end !important;

  width: 100%;

  max-width: 460px;

  padding-top: 0 !important;

}



.projects-heading-stat strong {

  font-size: clamp(72px, 6vw, 104px) !important;

  line-height: .82 !important;

}



.projects-heading-stat span {

  max-width: 220px !important;

  margin: 0 0 3px !important;

  font-size: 14px !important;

  line-height: 1.45 !important;

}



/* Убираем нижнюю широкую кнопку и весь пустой футер проектов */

.projects .projects-footer {

  display: none !important;

}



@media (max-width: 1150px) and (min-width: 701px) {

  .projects .projects-heading {

    grid-template-columns: 1fr 1fr !important;

  }



  .projects-heading-copy {

    grid-column: 1 / -1;

  }

}



@media (max-width: 700px) {

  .projects-heading-stat {

    grid-template-columns: auto 1fr !important;

    gap: 16px !important;

    max-width: none;

  }



  .projects-heading-stat strong {

    font-size: 64px !important;

  }



  .projects-heading-stat span {

    max-width: none !important;

    font-size: 13px !important;

  }

}




/* PROJECT STAT HORIZONTAL V22 */

.projects .projects-heading {

  grid-template-columns:

    minmax(300px, 1fr)

    minmax(360px, .9fr)

    minmax(340px, .8fr) !important;

  gap: clamp(32px, 4vw, 64px) !important;

}



.projects-heading-stat {

  display: grid !important;

  grid-template-columns: auto minmax(160px, 1fr) !important;

  gap: 22px !important;

  align-items: end !important;

  width: 100%;

  max-width: 460px;

  padding-top: 0 !important;

}



.projects-heading-stat strong {

  font-size: clamp(72px, 6vw, 104px) !important;

  line-height: .82 !important;

}



.projects-heading-stat span {

  max-width: 220px !important;

  margin: 0 0 3px !important;

  font-size: 14px !important;

  line-height: 1.45 !important;

}



/* Убираем нижнюю широкую кнопку и весь пустой футер проектов */

.projects .projects-footer {

  display: none !important;

}



@media (max-width: 1150px) and (min-width: 701px) {

  .projects .projects-heading {

    grid-template-columns: 1fr 1fr !important;

  }



  .projects-heading-copy {

    grid-column: 1 / -1;

  }

}



@media (max-width: 700px) {

  .projects-heading-stat {

    grid-template-columns: auto 1fr !important;

    gap: 16px !important;

    max-width: none;

  }



  .projects-heading-stat strong {

    font-size: 64px !important;

  }



  .projects-heading-stat span {

    max-width: none !important;

    font-size: 13px !important;

  }

}




/* COMPACT PROJECT CTA V23 */

.projects .projects-heading {

  grid-template-columns:

    minmax(300px, 1fr)

    minmax(350px, .9fr)

    minmax(440px, 1.1fr) !important;

  gap: clamp(24px, 3vw, 48px) !important;

}



.projects-heading-copy {

  display: flex !important;

  max-width: none !important;

  align-items: center !important;

  flex-direction: row !important;

  justify-content: space-between;

  gap: 18px !important;

}



.projects-heading-copy p {

  max-width: 255px;

  flex: 1 1 auto;

  font-size: 14px;

  line-height: 1.4;

}



.projects-gallery-button {

  min-width: 155px !important;

  min-height: 52px !important;

  flex: 0 0 auto;

  padding: 12px 18px !important;

}



@media (max-width: 1150px) and (min-width: 701px) {

  .projects-heading-copy {

    justify-content: flex-start;

  }



  .projects-heading-copy p {

    max-width: 360px;

  }

}



@media (max-width: 700px) {

  .projects-heading-copy {

    align-items: flex-start !important;

    flex-direction: column !important;

  }



  .projects-heading-copy p {

    max-width: none;

  }



  .projects-gallery-button {

    width: 100%;

  }

}




/* COMPACT PROJECT CTA V23 */

.projects .projects-heading {

  grid-template-columns:

    minmax(300px, 1fr)

    minmax(350px, .9fr)

    minmax(440px, 1.1fr) !important;

  gap: clamp(24px, 3vw, 48px) !important;

}



.projects-heading-copy {

  display: flex !important;

  max-width: none !important;

  align-items: center !important;

  flex-direction: row !important;

  justify-content: space-between;

  gap: 18px !important;

}



.projects-heading-copy p {

  max-width: 255px;

  flex: 1 1 auto;

  font-size: 14px;

  line-height: 1.4;

}



.projects-gallery-button {

  min-width: 155px !important;

  min-height: 52px !important;

  flex: 0 0 auto;

  padding: 12px 18px !important;

}



@media (max-width: 1150px) and (min-width: 701px) {

  .projects-heading-copy {

    justify-content: flex-start;

  }



  .projects-heading-copy p {

    max-width: 360px;

  }

}



@media (max-width: 700px) {

  .projects-heading-copy {

    align-items: flex-start !important;

    flex-direction: column !important;

  }



  .projects-heading-copy p {

    max-width: none;

  }



  .projects-gallery-button {

    width: 100%;

  }

}




/* PROJECT CTA VERTICAL V24 */

.projects-heading-copy {

  display: flex !important;

  max-width: 440px !important;

  align-items: flex-start !important;

  flex-direction: column !important;

  justify-content: flex-start !important;

  gap: 15px !important;

}



.projects-heading-copy p {

  width: 100%;

  max-width: none !important;

  margin: 0 !important;

  white-space: nowrap;

  font-size: 14px;

  line-height: 1.4;

}



.projects-gallery-button {

  width: auto !important;

  min-width: 155px !important;

}



@media (max-width: 700px) {

  .projects-heading-copy p {

    white-space: normal;

  }



  .projects-gallery-button {

    width: 100% !important;

  }

}




/* WIDER PROJECT BUTTON V25 */

.projects-gallery-button {

  width: auto !important;

  min-width: 225px !important;

  padding-right: 24px !important;

  padding-left: 24px !important;

  white-space: nowrap !important;

}



@media (max-width: 700px) {

  .projects-gallery-button {

    width: 100% !important;

    min-width: 0 !important;

  }

}




/* CATEGORY GRID START */

.project-catalog,

.category-detail {

  width: min(1680px, 100%);

  margin-inline: auto;

  padding-inline: clamp(20px, 5vw, 80px);

}



.catalog-heading {

  display: grid;

  grid-template-columns: 1fr minmax(280px, 430px);

  align-items: end;

  gap: 48px;

  margin-bottom: clamp(36px, 5vw, 70px);

}



.catalog-heading h1 {

  margin: 0;

  font-size: clamp(58px, 8vw, 126px);

  line-height: .88;

  letter-spacing: -.07em;

}



.catalog-heading > p {

  margin: 0;

  color: #626567;

  font-size: clamp(18px, 1.3vw, 22px);

  line-height: 1.45;

}



.catalog-grid {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 10px;

}



.catalog-card {

  position: relative;

  display: block;

  aspect-ratio: 1.08;

  overflow: hidden;

  color: #fff;

  background: #d8d8d3;

  text-decoration: none;

}



.catalog-card img {

  width: 100%;

  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform .45s ease;

}



.catalog-card-shade {

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, transparent 20%, rgba(0,0,0,.72));

}



.catalog-card-title {

  position: absolute;

  z-index: 2;

  right: 24px;

  bottom: 24px;

  left: 24px;

  display: flex;

  align-items: end;

  justify-content: space-between;

  gap: 18px;

}



.catalog-card-title b {

  max-width: 90%;

  font-size: clamp(17px, 1.3vw, 25px);

  line-height: 1.05;

  text-transform: uppercase;

}



.catalog-card-title i {

  font-size: 24px;

  font-style: normal;

}



.catalog-card:hover img {

  transform: scale(1.035);

}

/* CATEGORY GRID PART 1 END */




/* CATEGORY GRID START */

.project-catalog,

.category-detail {

  width: min(1680px, 100%);

  margin-inline: auto;

  padding-inline: clamp(20px, 5vw, 80px);

}



.catalog-heading {

  display: grid;

  grid-template-columns: 1fr minmax(280px, 430px);

  align-items: end;

  gap: 48px;

  margin-bottom: clamp(36px, 5vw, 70px);

}



.catalog-heading h1 {

  margin: 0;

  font-size: clamp(58px, 8vw, 126px);

  line-height: .88;

  letter-spacing: -.07em;

}



.catalog-heading > p {

  margin: 0;

  color: #626567;

  font-size: clamp(18px, 1.3vw, 22px);

  line-height: 1.45;

}



.catalog-grid {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 10px;

}



.catalog-card {

  position: relative;

  display: block;

  aspect-ratio: 1.08;

  overflow: hidden;

  color: #fff;

  background: #d8d8d3;

  text-decoration: none;

}



.catalog-card img {

  width: 100%;

  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform .45s ease;

}



.catalog-card-shade {

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, transparent 20%, rgba(0,0,0,.72));

}



.catalog-card-title {

  position: absolute;

  z-index: 2;

  right: 24px;

  bottom: 24px;

  left: 24px;

  display: flex;

  align-items: end;

  justify-content: space-between;

  gap: 18px;

}



.catalog-card-title b {

  max-width: 90%;

  font-size: clamp(17px, 1.3vw, 25px);

  line-height: 1.05;

  text-transform: uppercase;

}



.catalog-card-title i {

  font-size: 24px;

  font-style: normal;

}



.catalog-card:hover img {

  transform: scale(1.035);

}

/* CATEGORY GRID PART 1 END */




/* COST BLOCK ALIGNMENT V29 */

@media (min-width: 901px) {

  .cost.section {

    display: grid !important;

    grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;

    grid-template-rows: auto auto !important;

    align-items: start !important;

    column-gap: 0 !important;

    width: 100% !important;

    padding-inline: clamp(32px, 4vw, 80px) !important;

  }



  .cost .section-heading {

    display: contents !important;

  }



  .cost .section-heading > div {

    grid-column: 1 !important;

    grid-row: 1 / 3 !important;

    align-self: start !important;

    min-width: 0 !important;

    padding-right: clamp(30px, 4vw, 76px) !important;

  }



  .cost .section-heading h2 {

    width: 100% !important;

    max-width: 720px !important;

    margin: 0 !important;

    font-size: clamp(62px, 5.2vw, 96px) !important;

    line-height: .95 !important;

    letter-spacing: -.065em !important;

  }



  .cost .section-heading > p {

    grid-column: 2 !important;

    grid-row: 1 !important;

    align-self: start !important;

    width: 100% !important;

    max-width: 680px !important;

    margin: 0 !important;

    padding-left: clamp(32px, 5vw, 100px) !important;

    font-size: clamp(18px, 1.25vw, 22px) !important;

    line-height: 1.45 !important;

  }



  .cost .cost-factors {

    grid-column: 2 !important;

    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 12px !important;

    width: 100% !important;

    max-width: 680px !important;

    margin-top: 34px !important;

    padding-left: clamp(32px, 5vw, 100px) !important;

  }



  .cost .cost-factors span {

    display: flex !important;

    align-items: center !important;

    min-height: 62px !important;

    padding: 14px 18px !important;

  }

}



@media (max-width: 900px) {

  .cost.section {

    display: block !important;

    padding-inline: 20px !important;

  }



  .cost .section-heading {

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 20px !important;

    margin-bottom: 28px !important;

  }



  .cost .section-heading > div,

  .cost .section-heading > p,

  .cost .cost-factors {

    grid-column: auto !important;

    grid-row: auto !important;

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding-left: 0 !important;

    padding-right: 0 !important;

  }



  .cost .cost-factors {

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    gap: 8px !important;

  }

}



@media (max-width: 560px) {

  .cost .cost-factors {

    grid-template-columns: 1fr !important;

  }

}




/* ADDITIONAL FEATURES FULL WIDTH V30 */

@media (min-width: 901px) {

  .cost > .cost-factors ~ *,

  .cost > div:has(> h3) {

    grid-column: 1 / -1 !important;

    grid-row: auto !important;

    width: 100% !important;

    max-width: none !important;

    margin-top: clamp(60px, 7vw, 110px) !important;

    padding-right: 0 !important;

    padding-left: 0 !important;

  }



  .cost > .cost-factors ~ * > *,

  .cost > div:has(> h3) > * {

    width: 100% !important;

    max-width: none !important;

  }



  .cost > div:has(> h3) > div:last-child {

    display: grid !important;

    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

    width: 100% !important;

  }



  .cost > div:has(> h3) > div:last-child > * {

    min-width: 0 !important;

  }

}



@media (max-width: 1300px) and (min-width: 701px) {

  .cost > div:has(> h3) > div:last-child {

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  }

}



@media (max-width: 700px) {

  .cost > div:has(> h3) {

    width: 100% !important;

    margin-top: 48px !important;

  }



  .cost > div:has(> h3) > div:last-child {

    display: grid !important;

    grid-template-columns: 1fr !important;

    width: 100% !important;

  }

}





/* CALLBACK STRIP V42 */

.callback-strip.section {

  display: grid !important;

  grid-template-columns:

    minmax(360px, .85fr)

    minmax(600px, 1.15fr) !important;

  align-items: center !important;

  gap: clamp(60px, 7vw, 120px) !important;

  padding-top: clamp(64px, 7vw, 100px) !important;

  padding-bottom: clamp(64px, 7vw, 100px) !important;

  border-top: 1px solid #d5d5d0 !important;

  border-bottom: 1px solid #d5d5d0 !important;

  background: #f5f4ef !important;

  box-sizing: border-box !important;

}



.callback-strip .callback-copy {

  display: block !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 0 !important;

}



.callback-strip .callback-copy h2 {

  width: 100% !important;

  max-width: 620px !important;

  margin: 0 0 22px !important;

  padding: 0 !important;

  font-size: clamp(48px, 4vw, 72px) !important;

  line-height: .94 !important;

  letter-spacing: -.055em !important;

}



.callback-strip .callback-copy p {

  width: 100% !important;

  max-width: 520px !important;

  margin: 0 !important;

  padding: 0 !important;

  color: #606365 !important;

  font-size: clamp(17px, 1.15vw, 20px) !important;

  line-height: 1.5 !important;

}



.callback-strip .callback-form {

  position: relative !important;

  display: grid !important;

  grid-template-columns: minmax(260px, 1fr) auto !important;

  align-items: stretch !important;

  gap: 8px !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 8px !important;

  border: 1px solid #d0d0cb !important;

  border-radius: 0 !important;

  background: #fff !important;

  box-shadow: none !important;

  box-sizing: border-box !important;

}



.callback-strip .callback-form label {

  position: absolute !important;

  width: 1px !important;

  height: 1px !important;

  overflow: hidden !important;

  clip-path: inset(50%) !important;

}



.callback-strip .callback-form input {

  width: 100% !important;

  min-width: 0 !important;

  height: 66px !important;

  margin: 0 !important;

  padding: 0 20px !important;

  border: 0 !important;

  border-radius: 0 !important;

  outline: 0 !important;

  color: #151719 !important;

  background: #f1f1ed !important;

  font: inherit !important;

  font-size: 17px !important;

  box-shadow: none !important;

  box-sizing: border-box !important;

}



.callback-strip .callback-form input:focus {

  background: #fff !important;

  box-shadow: inset 0 0 0 2px #e93631 !important;

}



.callback-strip .callback-form button {

  width: auto !important;

  min-width: 230px !important;

  height: 66px !important;

  margin: 0 !important;

  padding: 0 28px !important;

  border: 0 !important;

  border-radius: 0 !important;

  color: #fff !important;

  background: #151719 !important;

  font: inherit !important;

  font-size: 15px !important;

  font-weight: 700 !important;

  white-space: nowrap !important;

  cursor: pointer !important;

}



.callback-strip .callback-form button:hover {

  background: #e93631 !important;

}



.callback-strip .callback-status {

  grid-column: 1 / -1 !important;

  min-height: 0 !important;

  margin: 4px 0 0 !important;

  font-size: 13px !important;

}



@media (max-width: 1050px) {

  .callback-strip.section {

    grid-template-columns: 1fr !important;

    gap: 34px !important;

  }

}



@media (max-width: 650px) {

  .callback-strip .callback-form {

    grid-template-columns: 1fr !important;

  }



  .callback-strip .callback-form button {

    width: 100% !important;

    min-width: 0 !important;

  }

}


/* GLOBAL CONTENT LINE V41 */

:root {

  --site-content-max: 1650px;

  --site-content-width: min(calc(100% - 48px), var(--site-content-max));

  --site-content-gutter: max(

    24px,

    calc((100vw - var(--site-content-max)) / 2)

  );

}



@media (min-width: 1101px) {

  /* Обычные светлые блоки */

  .hero .hero-shell,

  .intro.section,

  .projects > .projects-heading,

  .projects > .project-grid,

  .projects > .projects-footer,

  .callback-strip.section,

  .cost.section {

    position: relative !important;

    right: auto !important;

    left: auto !important;

    width: var(--site-content-width) !important;

    max-width: var(--site-content-max) !important;

    margin-right: auto !important;

    margin-left: auto !important;

    box-sizing: border-box !important;

    translate: none !important;

    transform: none !important;

  }



  /* Убираем отдельные отступы секции проектов */

  .projects.section {

    width: 100% !important;

    max-width: none !important;

    padding-right: 0 !important;

    padding-left: 0 !important;

    overflow-x: hidden !important;

  }



  .projects > .projects-heading {

    padding-right: 0 !important;

    padding-left: 0 !important;

  }



  .projects > .projects-heading > div:first-child,

  .projects > .projects-heading h2 {

    position: static !important;

    margin-left: 0 !important;

    padding-left: 0 !important;

    translate: none !important;

    transform: none !important;

  }



  /* Полноширинные цветные секции:

     фон остаётся на весь экран, контент начинается по общей линии */

  .process.section,

  .brief.section,

  .site-footer {

    width: 100% !important;

    max-width: none !important;

    padding-right: var(--site-content-gutter) !important;

    padding-left: var(--site-content-gutter) !important;

    box-sizing: border-box !important;

  }



  /* Страховка от случайного горизонтального выезда */

  .hero-shell,

  .intro,

  .projects-heading,

  .project-grid,

  .process,

  .callback-strip,

  .cost,

  .brief,

  .site-footer {

    right: auto !important;

    left: auto !important;

  }

}



@media (max-width: 1100px) {

  :root {

    --site-content-width: calc(100% - 40px);

    --site-content-gutter: 20px;

  }



  .hero .hero-shell,

  .intro.section,

  .projects > .projects-heading,

  .projects > .project-grid,

  .projects > .projects-footer,

  .callback-strip.section,

  .cost.section {

    width: var(--site-content-width) !important;

    margin-right: auto !important;

    margin-left: auto !important;

  }

}


/* FINAL CLEAN LAYOUT V43 START */



:root {

  --content-max: 1650px;

  --content-rail: max(24px, calc((100vw - 1650px) / 2));

}



html,

body {

  max-width: 100%;

  overflow-x: hidden;

}



/* Одна общая направляющая для всех светлых блоков */

@media (min-width: 1101px) {

  .hero .hero-shell,

  .intro.section,

  .projects > .projects-heading,

  .projects > .project-grid,

  .projects > .projects-footer,

  .callback-strip.section,

  .cost.section {

    position: relative !important;

    left: auto !important;

    right: auto !important;

    width: calc(100% - var(--content-rail) - var(--content-rail)) !important;

    max-width: var(--content-max) !important;

    margin-inline: auto !important;

    box-sizing: border-box !important;

    translate: none !important;

    transform: none !important;

  }



  .process.section,

  .brief.section,

  .site-footer {

    width: 100% !important;

    max-width: none !important;

    padding-left: var(--content-rail) !important;

    padding-right: var(--content-rail) !important;

    box-sizing: border-box !important;

  }



  .cost.section {

    padding-left: 0 !important;

    padding-right: 0 !important;

  }

}



/* Проекты: ровная строка, без уезжающего заголовка */

.projects.section {

  width: 100% !important;

  max-width: none !important;

  padding-left: 0 !important;

  padding-right: 0 !important;

  overflow-x: hidden !important;

}



.projects .projects-heading {

  display: grid !important;

  grid-template-columns:

    minmax(320px, 1.15fr)

    minmax(400px, .95fr)

    minmax(360px, .9fr) !important;

  align-items: start !important;

  gap: clamp(36px, 4vw, 72px) !important;

  padding: 0 !important;

}



.projects-heading > *,

.projects-heading-stat,

.projects-heading-copy {

  min-width: 0 !important;

}



.projects-heading h2 {

  position: static !important;

  margin: 0 !important;

  padding: 0 !important;

  transform: none !important;

  translate: none !important;

}



.projects-heading-stat {

  display: grid !important;

  grid-template-columns: auto minmax(170px, 1fr) !important;

  align-items: start !important;

  gap: 22px !important;

  width: 100% !important;

  max-width: none !important;

  padding: 0 !important;

}



.projects-heading-stat strong {

  margin: 0 !important;

  font-size: clamp(76px, 6vw, 104px) !important;

  line-height: .82 !important;

}



.projects-heading-stat span {

  max-width: 230px !important;

  margin: 3px 0 0 !important;

  font-size: 14px !important;

  line-height: 1.45 !important;

}



.projects-heading-copy {

  display: flex !important;

  flex-direction: column !important;

  align-items: flex-start !important;

  justify-content: flex-start !important;

  gap: 16px !important;

  width: 100% !important;

  max-width: none !important;

  margin: 0 !important;

}



.projects-heading-copy p {

  width: 100% !important;

  max-width: 420px !important;

  margin: 0 !important;

  white-space: normal !important;

  font-size: 14px !important;

  line-height: 1.45 !important;

}



.projects-gallery-button {

  width: auto !important;

  min-width: 225px !important;

  min-height: 58px !important;

  padding: 16px 26px !important;

  white-space: nowrap !important;

}



/* Короткая форма */

.callback-strip.section {

  display: grid !important;

  grid-template-columns: minmax(340px, .8fr) minmax(520px, 1.2fr) !important;

  align-items: center !important;

  gap: clamp(48px, 7vw, 120px) !important;

  padding-top: clamp(64px, 7vw, 100px) !important;

  padding-bottom: clamp(64px, 7vw, 100px) !important;

  border-top: 1px solid #d7d7d2 !important;

  border-bottom: 1px solid #d7d7d2 !important;

  background: #f5f4ef !important;

}



.callback-copy {

  display: grid !important;

  grid-template-columns: 1fr !important;

  gap: 18px !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

}



.callback-copy h2 {

  width: 100% !important;

  max-width: 620px !important;

  margin: 0 !important;

  font-size: clamp(48px, 4vw, 72px) !important;

  line-height: .94 !important;

  letter-spacing: -.055em !important;

}



.callback-copy p {

  width: 100% !important;

  max-width: 520px !important;

  margin: 0 !important;

  color: #606365 !important;

  font-size: 18px !important;

  line-height: 1.5 !important;

}



.callback-form {

  position: relative !important;

  display: grid !important;

  grid-template-columns: minmax(240px, 1fr) auto !important;

  gap: 10px !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 22px !important;

  border: 1px solid #deded8 !important;

  border-radius: 18px !important;

  background: #fff !important;

  box-shadow: 0 18px 50px rgba(30, 28, 24, .08) !important;

  box-sizing: border-box !important;

}



.callback-form label {

  position: static !important;

  grid-column: 1 / -1 !important;

  width: auto !important;

  height: auto !important;

  overflow: visible !important;

  clip-path: none !important;

  margin: 0 0 2px !important;

  color: #55585a !important;

  font-size: 12px !important;

  font-weight: 700 !important;

  letter-spacing: .06em !important;

  text-transform: uppercase !important;

}



.callback-form input[type="tel"] {

  width: 100% !important;

  min-width: 0 !important;

  height: 64px !important;

  margin: 0 !important;

  padding: 0 18px !important;

  border: 1px solid #d7d7d2 !important;

  border-radius: 10px !important;

  color: #151719 !important;

  background: #f3f3ef !important;

  font: inherit !important;

  font-size: 17px !important;

  box-sizing: border-box !important;

}



.callback-form input[type="tel"]:focus {

  outline: none !important;

  border-color: #151719 !important;

  background: #fff !important;

  box-shadow: 0 0 0 3px rgba(21, 23, 25, .08) !important;

}



.callback-form button {

  width: auto !important;

  min-width: 230px !important;

  height: 64px !important;

  margin: 0 !important;

  padding: 0 28px !important;

  border: 0 !important;

  border-radius: 10px !important;

  color: #fff !important;

  background: #151719 !important;

  font: inherit !important;

  font-size: 15px !important;

  font-weight: 700 !important;

  white-space: nowrap !important;

  cursor: pointer !important;

}



.callback-form button:hover {

  background: #e93631 !important;

}



.callback-status {

  grid-column: 1 / -1 !important;

  margin: 2px 0 0 !important;

}



/* Планшет */

@media (max-width: 1100px) {

  :root {

    --content-rail: 20px;

  }



  .hero .hero-shell,

  .intro.section,

  .projects > .projects-heading,

  .projects > .project-grid,

  .projects > .projects-footer,

  .callback-strip.section,

  .cost.section {

    width: calc(100% - 40px) !important;

    margin-inline: auto !important;

  }



  .projects .projects-heading {

    grid-template-columns: 1fr 1fr !important;

  }



  .projects-heading > div:first-child {

    grid-column: 1 / -1 !important;

  }



  .callback-strip.section {

    grid-template-columns: 1fr !important;

    gap: 34px !important;

  }

}



/* Мобильная версия */

@media (max-width: 700px) {

  .projects .projects-heading {

    grid-template-columns: 1fr !important;

    gap: 24px !important;

  }



  .projects-heading > *,

  .projects-heading > div:first-child {

    grid-column: auto !important;

  }



  .projects-heading-stat {

    grid-template-columns: auto 1fr !important;

    gap: 16px !important;

  }



  .projects-heading-stat strong {

    font-size: 64px !important;

  }



  .projects-heading-copy,

  .projects-gallery-button {

    width: 100% !important;

  }



  .callback-strip.section {

    padding: 48px 0 !important;

  }



  .callback-form {

    grid-template-columns: 1fr !important;

    padding: 18px !important;

    border-radius: 14px !important;

  }



  .callback-form button {

    width: 100% !important;

    min-width: 0 !important;

  }



  .process.section,

  .brief.section,

  .site-footer {

    padding-left: 20px !important;

    padding-right: 20px !important;

  }

}



/* FINAL CLEAN LAYOUT V43 END */

/* CONSOLIDATED TEXT ALIGNMENT V46 */
:root {
  --text-line-inset: clamp(90px, 7vw, 168px);
}

@media (min-width: 1101px) {
  .intro.section .intro-title-wrap h2,
  .intro.section .intro-copy,
  .projects.section > .projects-heading h2,
  .process.section .process-intro,
  .callback-strip.section .callback-copy h2,
  .callback-strip.section .callback-copy p,
  .cost.section .section-heading > div,
  .brief.section .brief-copy {
    box-sizing: border-box !important;
    padding-left: var(--text-line-inset) !important;
    margin-left: 0 !important;
    transform: none !important;
    translate: none !important;
  }

  .projects.section > .projects-heading > div:first-child,
  .callback-strip.section .callback-copy {
    padding-left: 0 !important;
  }

  .cost.section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 1100px) {
  :root {
    --text-line-inset: 0px;
  }

  .intro.section .intro-title-wrap h2,
  .intro.section .intro-copy,
  .projects.section > .projects-heading h2,
  .process.section .process-intro,
  .callback-strip.section .callback-copy,
  .callback-strip.section .callback-copy h2,
  .callback-strip.section .callback-copy p,
  .cost.section .section-heading > div,
  .brief.section .brief-copy {
    padding-left: 0 !important;
  }
}



/* OUTER RAIL CORRECTION V47 */
@media (min-width: 1101px) {
  .hero {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .hero .hero-shell,
  .intro.section,
  .projects.section > .projects-heading,
  .projects.section > .project-grid,
  .projects.section > .projects-footer,
  .cost.section,
  .cost.section > .cost-extras {
    right: auto !important;
    left: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
    translate: none !important;
    transform: none !important;
  }
}



/* MEDIA AND EXTRAS TEXT RAIL V48 */
@media (min-width: 1101px) {
  .projects.section > .project-grid,
  .projects.section > .projects-footer {
    width: calc(var(--site-content-width) - var(--text-line-inset)) !important;
    max-width: calc(var(--site-content-max) - var(--text-line-inset)) !important;
    margin-right: auto !important;
    margin-left: calc(var(--content-rail) + var(--text-line-inset)) !important;
    translate: none !important;
    transform: none !important;
  }

  .cost.section > .cost-extras {
    width: calc(100% - var(--text-line-inset)) !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: var(--text-line-inset) !important;
    padding-left: 0 !important;
    translate: none !important;
    transform: none !important;
  }
}


/* DESKTOP PROPORTIONS V49 */
@media (min-width: 1280px) {
  .process.section {
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
    gap: clamp(52px, 4vw, 76px) !important;
  }

  .process-intro h2 {
    width: 100% !important;
    max-width: 650px !important;
    font-size: clamp(60px, 4vw, 78px) !important;
    line-height: .94 !important;
  }

  .cost.section {
    grid-template-columns: minmax(0, 50%) minmax(0, 50%) !important;
  }

  .cost .section-heading > div {
    padding-right: clamp(28px, 3vw, 54px) !important;
  }

  .cost .section-heading h2 {
    max-width: 650px !important;
    font-size: clamp(62px, 4.3vw, 82px) !important;
    line-height: .94 !important;
  }

  .intro-grid {
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr) !important;
    column-gap: clamp(50px, 4vw, 76px) !important;
  }

  .intro-copy {
    width: 100% !important;
    max-width: 620px !important;
  }

  .intro-visual {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* PROJECT GRID SIX V50 */
@media (min-width: 1101px) {
  .projects .project-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    gap: clamp(16px, 1.4vw, 24px) !important;
    align-items: stretch !important;
  }

  .projects .project-card,
  .projects .project-a,
  .projects .project-b,
  .projects .project-c,
  .projects .project-d,
  .projects .project-e,
  .projects .project-f {
    position: relative !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
  }

  .projects .project-card > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .projects .project-caption {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    left: 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 16px !important;
    width: auto !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 15px 17px !important;
    border: 1px solid rgba(255, 255, 255, .58) !important;
    border-radius: 14px !important;
    background: rgba(248, 248, 245, .76) !important;
    box-shadow: 0 8px 24px rgba(20, 20, 18, .08) !important;
    backdrop-filter: blur(12px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(115%) !important;
    box-sizing: border-box !important;
  }

  .projects .project-caption h3 {
    margin: 0 0 5px !important;
    font-size: clamp(17px, 1.15vw, 21px) !important;
    line-height: 1.08 !important;
  }

  .projects .project-caption p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .projects .project-caption button {
    align-self: end !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}

/* PROJECT GAP FIX V52 */
.projects.section {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: clamp(72px, 8vw, 120px) !important;
}

.projects .project-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: clamp(14px, 1.25vw, 22px) !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.projects .project-card,
.projects .project-a,
.projects .project-b,
.projects .project-c,
.projects .project-d,
.projects .project-e,
.projects .project-card:nth-child(n) {
  position: relative !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
}

.projects .project-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.projects + .process,
.process.section {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .projects .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .projects.section {
    padding-bottom: 56px !important;
  }
  .projects .project-grid {
    grid-template-columns: 1fr !important;
  }
}
/* PROJECT GAP FIX V52 END */



/* PROJECT CARD CAPTIONS V53 */

.projects .project-card::after {

  position: absolute;

  z-index: 1;

  right: 0;

  bottom: 0;

  left: 0;

  height: 58%;

  content: "";

  pointer-events: none;

  background: linear-gradient(

    to top,

    rgba(12, 13, 14, 0.82) 0%,

    rgba(12, 13, 14, 0.48) 38%,

    rgba(12, 13, 14, 0.14) 72%,

    rgba(12, 13, 14, 0) 100%

  );

}



.projects .project-caption {

  position: absolute !important;

  z-index: 2 !important;

  right: clamp(18px, 1.6vw, 28px) !important;

  bottom: clamp(18px, 1.6vw, 26px) !important;

  left: clamp(18px, 1.6vw, 28px) !important;

  display: grid !important;

  grid-template-columns: minmax(0, 1fr) auto !important;

  align-items: end !important;

  gap: 18px !important;

  width: auto !important;

  min-height: 0 !important;

  margin: 0 !important;

  padding: 0 !important;

  border: 0 !important;

  border-radius: 0 !important;

  color: #f7f7f5 !important;

  background: transparent !important;

  box-shadow: none !important;

  backdrop-filter: none !important;

  -webkit-backdrop-filter: none !important;

}



.projects .project-caption h3 {

  max-width: 19ch;

  margin: 0 !important;

  color: #f7f7f5 !important;

  font-size: clamp(20px, 1.45vw, 27px) !important;

  line-height: 1.04 !important;

  letter-spacing: -0.035em !important;

  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.28);

}



.projects .project-caption p {

  margin: 7px 0 0 !important;

  color: rgba(247, 247, 245, 0.78) !important;

}



.projects .project-caption button {

  align-self: end !important;

  margin: 0 !important;

  padding: 0 0 3px !important;

  border: 0 !important;

  border-bottom: 1px solid rgba(247, 247, 245, 0.72) !important;

  border-radius: 0 !important;

  color: #f7f7f5 !important;

  background: transparent !important;

  box-shadow: none !important;

  white-space: nowrap !important;

}



@media (max-width: 620px) {

  .projects .project-card::after {

    height: 64%;

  }



  .projects .project-caption {

    right: 18px !important;

    bottom: 18px !important;

    left: 18px !important;

    grid-template-columns: 1fr !important;

    gap: 12px !important;

  }



  .projects .project-caption button {

    justify-self: start;

  }

}




/* CATEGORY DETAIL LAYOUT V55 */

.category-detail.section {

  width: min(calc(100% - 48px), 1650px) !important;

  max-width: 1650px !important;

  margin-right: auto !important;

  margin-left: auto !important;

  padding: clamp(124px, 10vw, 168px) 0 clamp(72px, 8vw, 120px) !important;

  box-sizing: border-box !important;

}



.category-back {

  display: inline-flex;

  margin: 0 0 clamp(34px, 4vw, 58px);

  color: #686b6d;

  font-size: 14px;

  font-weight: 700;

  text-decoration: none;

}



.category-back:hover {

  color: #e93631;

}



.category-detail-head {

  display: grid;

  grid-template-columns: minmax(320px, 0.76fr) minmax(520px, 1.24fr);

  align-items: center;

  gap: clamp(46px, 6vw, 104px);

}



.category-detail-copy {

  min-width: 0;

}



.category-detail-copy .section-kicker {

  margin: 0 0 22px;

  color: #e93631;

  font-size: 13px;

  font-weight: 800;

  letter-spacing: 0.12em;

  text-transform: uppercase;

}



.category-detail-copy h1 {

  max-width: 760px;

  margin: 0;

  color: #151719;

  font-size: clamp(52px, 5.2vw, 92px);

  line-height: 0.94;

  letter-spacing: -0.06em;

  text-wrap: balance;

}



.category-detail-copy > p:last-child {

  max-width: 620px;

  margin: clamp(28px, 3vw, 44px) 0 0;

  color: #4f5355;

  font-size: clamp(17px, 1.25vw, 21px);

  line-height: 1.55;

}



.category-detail-image {

  position: relative;

  width: 100%;

  aspect-ratio: 4 / 3;

  margin: 0;

  overflow: hidden;

  border-radius: 22px;

  background: #deded9;

}



.category-detail-image img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}



.category-lead {

  display: grid;

  grid-template-columns: minmax(280px, 0.72fr) minmax(520px, 1.28fr);

  align-items: start;

  gap: clamp(40px, 6vw, 100px);

  margin-top: clamp(72px, 8vw, 124px);

  padding: clamp(36px, 5vw, 72px);

  border-radius: 22px;

  color: #f7f7f5;

  background: #e93631;

}



.category-lead-copy h2 {

  max-width: 520px;

  margin: 0;

  font-size: clamp(42px, 4vw, 72px);

  line-height: 0.95;

  letter-spacing: -0.055em;

}



.category-lead-copy p {

  max-width: 500px;

  margin: 24px 0 0;

  color: rgba(255, 255, 255, 0.82);

  font-size: 17px;

  line-height: 1.5;

}



.category-form {

  width: 100% !important;

  margin: 0 !important;

}



.category-form button[type="submit"] {

  width: 100%;

  min-height: 56px;

  border: 0;

  border-radius: 10px;

  color: #f7f7f5;

  background: #151719;

  font-weight: 800;

  cursor: pointer;

}



@media (max-width: 1050px) {

  .category-detail.section {

    width: calc(100% - 40px) !important;

    padding-top: 112px !important;

  }



  .category-detail-head {

    grid-template-columns: 1fr;

    gap: 42px;

  }



  .category-detail-copy {

    max-width: 820px;

  }



  .category-detail-image {

    aspect-ratio: 16 / 10;

  }



  .category-lead {

    grid-template-columns: 1fr;

    gap: 36px;

  }

}



@media (max-width: 620px) {

  .category-detail.section {

    width: calc(100% - 32px) !important;

    padding-top: 96px !important;

    padding-bottom: 56px !important;

  }



  .category-back {

    margin-bottom: 30px;

  }



  .category-detail-copy h1 {

    font-size: clamp(42px, 13vw, 62px);

  }



  .category-detail-copy > p:last-child {

    font-size: 16px;

  }



  .category-detail-image {

    aspect-ratio: 4 / 3;

    border-radius: 16px;

  }



  .category-lead {

    margin-top: 56px;

    padding: 28px 20px;

    border-radius: 16px;

  }

}




/* BALANCED HOME GRID V56 */

@media (min-width: 1101px) {

  :root {

    --balanced-rail: calc(var(--content-rail) + var(--text-line-inset));

    --balanced-width: calc(

      100% - var(--balanced-rail) - var(--balanced-rail)

    );

    --balanced-max: calc(

      var(--site-content-max) - var(--text-line-inset) - var(--text-line-inset)

    );

  }



  .intro.section,

  .projects.section > .projects-heading,

  .projects.section > .project-grid,

  .projects.section > .projects-footer,

  .callback-strip.section,

  .cost.section {

    right: auto !important;

    left: auto !important;

    width: var(--balanced-width) !important;

    max-width: var(--balanced-max) !important;

    margin-right: auto !important;

    margin-left: auto !important;

    padding-right: 0 !important;

    padding-left: 0 !important;

    translate: none !important;

    transform: none !important;

    box-sizing: border-box !important;

  }



  .intro.section .intro-title-wrap h2,

  .intro.section .intro-copy,

  .projects.section > .projects-heading h2,

  .callback-strip.section .callback-copy,

  .callback-strip.section .callback-copy h2,

  .callback-strip.section .callback-copy p,

  .cost.section .section-heading > div,

  .brief.section .brief-copy,

  .process.section .process-intro {

    margin-left: 0 !important;

    padding-left: 0 !important;

  }



  .projects .projects-heading {

    grid-template-columns:

      minmax(0, 1.1fr)

      minmax(150px, 0.55fr)

      minmax(250px, 0.85fr) !important;

    gap: clamp(24px, 3vw, 52px) !important;

  }



  .process.section,

  .brief.section {

    padding-right: var(--balanced-rail) !important;

    padding-left: var(--balanced-rail) !important;

    box-sizing: border-box !important;

  }



  .cost.section > .cost-extras {

    width: 100% !important;

    max-width: none !important;

    margin-right: 0 !important;

    margin-left: 0 !important;

  }

}



@media (min-width: 1101px) and (max-width: 1350px) {

  .projects .projects-heading {

    grid-template-columns:

      minmax(0, 1fr)

      minmax(130px, 0.42fr)

      minmax(220px, 0.72fr) !important;

    gap: 24px !important;

  }

}




/* WIDER BALANCED GRID V57 */

@media (min-width: 1101px) {

  :root {

    --balanced-rail: max(32px, var(--content-rail));

    --balanced-width: calc(

      100% - var(--balanced-rail) - var(--balanced-rail)

    );

    --balanced-max: var(--site-content-max);

  }

}




/* CLICKABLE PROJECT CARDS V58 */

.projects a.project-card {

  display: block !important;

  color: inherit;

  text-decoration: none;

  cursor: pointer;

}



.projects .project-card-action {

  align-self: end;

  padding: 0 0 3px;

  border-bottom: 1px solid rgba(247, 247, 245, 0.72);

  color: #f7f7f5;

  font-size: 12px;

  font-weight: 700;

  line-height: 1.2;

  white-space: nowrap;

  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.32);

  transition: border-color 180ms ease, opacity 180ms ease;

}



.projects a.project-card:hover .project-card-action {

  border-bottom-color: #f7f7f5;

}



.projects a.project-card:active .project-card-action {

  opacity: 0.72;

}



.projects a.project-card:focus-visible {

  outline: 3px solid #e93631;

  outline-offset: 4px;

}



@media (max-width: 620px) {

  .projects .project-card-action {

    justify-self: start;

  }

}




/* CATEGORY TITLE COLLISION FIX V59 */

@media (min-width: 1051px) {

  .category-detail-head {

    grid-template-columns:

      minmax(0, 0.95fr)

      minmax(0, 1.05fr) !important;

    gap: clamp(40px, 4vw, 72px) !important;

  }



  .category-detail-copy,

  .category-detail-image {

    min-width: 0;

  }



  .category-detail-copy h1 {

    max-width: 100% !important;

    font-size: clamp(48px, 3.85vw, 74px) !important;

    line-height: 0.96 !important;

    letter-spacing: -0.052em !important;

    overflow-wrap: break-word;

    word-break: normal;

    hyphens: auto;

  }

}



@media (min-width: 1051px) and (max-width: 1300px) {

  .category-detail-copy h1 {

    font-size: clamp(46px, 5vw, 62px) !important;

  }

}




/* HEADER PHONE AND PROJECT HEADING V60 */

@media (min-width: 1051px) {

  .site-header .contact-phone {

    display: inline-flex !important;

    align-items: center;

    flex: 0 0 auto;

    margin-right: 4px;

    color: #151719;

    font-size: 13px;

    font-weight: 800;

    line-height: 1;

    white-space: nowrap;

  }

}



@media (min-width: 1051px) and (max-width: 1250px) {

  .site-header {

    padding-right: 18px !important;

    padding-left: 18px !important;

  }



  .site-header .site-nav {

    gap: 12px !important;

  }



  .site-header .nav-contacts {

    gap: 6px !important;

    margin-left: 0 !important;

    padding-left: 8px !important;

  }



  .site-header .contact-phone {

    margin-right: 2px;

    font-size: 12px;

  }



  .site-header .social-link {

    width: 30px !important;

    height: 30px !important;

    padding: 7px !important;

  }



  .site-header .nav-cta {

    padding-right: 12px !important;

    padding-left: 12px !important;

    font-size: 12px;

  }



  .projects .projects-heading {

    grid-template-columns:

      minmax(0, 1fr)

      minmax(330px, 0.85fr) !important;

    grid-template-rows: auto auto !important;

    align-items: end !important;

    column-gap: clamp(32px, 4vw, 52px) !important;

    row-gap: 30px !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 !important;

  }



  .projects .projects-heading-stat {

    grid-column: 2 !important;

    grid-row: 1 !important;

    grid-template-columns: auto minmax(0, 1fr) !important;

    gap: 18px !important;

    align-items: end !important;

    width: 100% !important;

  }



  .projects .projects-heading-copy {

    grid-column: 1 / -1 !important;

    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    align-items: center !important;

    gap: 30px !important;

    width: 100% !important;

    padding-top: 26px !important;

    border-top: 1px solid #d5d5d0;

  }



  .projects .projects-heading-copy p {

    width: 100% !important;

    max-width: 560px !important;

    margin: 0 !important;

  }



  .projects .projects-gallery-button {

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

    white-space: nowrap !important;

  }

}




/* PROJECT HEADING RESPONSIVE FIX V61 */

@media (min-width: 1051px) and (max-width: 1550px) {

  .projects .projects-heading {

    grid-template-columns:

      minmax(0, 1fr)

      minmax(390px, 0.82fr) !important;

    grid-template-rows: auto auto !important;

    align-items: end !important;

    column-gap: clamp(36px, 5vw, 68px) !important;

    row-gap: 30px !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 !important;

  }



  .projects .projects-heading-stat {

    grid-column: 2 !important;

    grid-row: 1 !important;

    grid-template-columns: auto minmax(220px, 1fr) !important;

    align-items: end !important;

    gap: 22px !important;

    width: 100% !important;

    min-width: 0 !important;

  }



  .projects .projects-heading-copy {

    grid-column: 1 / -1 !important;

    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) auto !important;

    align-items: center !important;

    gap: 32px !important;

    width: 100% !important;

    padding-top: 26px !important;

    border-top: 1px solid #d5d5d0;

  }



  .projects .projects-heading-copy p {

    width: 100% !important;

    max-width: 620px !important;

    margin: 0 !important;

  }



  .projects .projects-gallery-button {

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

  }

}



@media (min-width: 1551px) {

  .projects .projects-heading {

    grid-template-columns:

      minmax(420px, 1fr)

      minmax(460px, 0.74fr)

      minmax(380px, 0.62fr) !important;

    align-items: end !important;

    gap: 48px !important;

  }



  .projects .projects-heading-stat {

    grid-template-columns: auto minmax(240px, 1fr) !important;

    align-items: end !important;

    gap: 24px !important;

    width: 100% !important;

    min-width: 0 !important;

  }



  .projects .projects-heading-copy {

    width: 100% !important;

    min-width: 0 !important;

  }



  .projects .projects-heading-copy p {

    width: 100% !important;

    max-width: 380px !important;

    margin: 0 !important;

  }

}




/* PROJECT HEADING FINAL LAYOUT V62 */

@media (min-width: 1201px) {

  .projects .projects-heading {

    display: grid !important;

    grid-template-columns:

      minmax(280px, 1fr)

      auto

      minmax(190px, 250px)

      minmax(190px, 280px)

      auto !important;

    grid-template-rows: auto !important;

    align-items: end !important;

    gap: clamp(18px, 1.8vw, 32px) !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 !important;

  }



  .projects .projects-heading-stat,

  .projects .projects-heading-copy {

    display: contents !important;

  }



  .projects .projects-heading-stat strong {

    grid-column: 2 !important;

    grid-row: 1 !important;

    align-self: end !important;

    margin: 0 !important;

  }



  .projects .projects-heading-stat span {

    grid-column: 3 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    max-width: 250px !important;

    margin: 0 !important;

  }



  .projects .projects-heading-copy p {

    grid-column: 4 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    max-width: 280px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

  }



  .projects .projects-gallery-button {

    grid-column: 5 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

  }

}



@media (min-width: 1051px) and (max-width: 1200px) {

  .projects .projects-heading {

    display: grid !important;

    grid-template-columns:

      minmax(0, 1fr)

      minmax(430px, 0.9fr) !important;

    grid-template-rows: auto auto !important;

    align-items: end !important;

    column-gap: 36px !important;

    row-gap: 24px !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 / 3 !important;

    align-self: start !important;

  }



  .projects .projects-heading-stat {

    grid-column: 2 !important;

    grid-row: 1 !important;

    display: grid !important;

    grid-template-columns: auto minmax(0, 1fr) !important;

    gap: 18px !important;

    width: 100% !important;

  }



  .projects .projects-heading-copy {

    grid-column: 2 !important;

    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 16px !important;

    width: 100% !important;

    padding: 20px 0 0 !important;

    border-top: 1px solid #d5d5d0;

  }



  .projects .projects-heading-copy p {

    width: 100% !important;

    max-width: 430px !important;

    margin: 0 !important;

  }



  .projects .projects-gallery-button {

    justify-self: start !important;

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

  }

}




/* PROJECT HEADING FINAL LAYOUT V62 */

@media (min-width: 1201px) {

  .projects .projects-heading {

    display: grid !important;

    grid-template-columns:

      minmax(280px, 1fr)

      auto

      minmax(190px, 250px)

      minmax(190px, 280px)

      auto !important;

    grid-template-rows: auto !important;

    align-items: end !important;

    gap: clamp(18px, 1.8vw, 32px) !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 !important;

  }



  .projects .projects-heading-stat,

  .projects .projects-heading-copy {

    display: contents !important;

  }



  .projects .projects-heading-stat strong {

    grid-column: 2 !important;

    grid-row: 1 !important;

    align-self: end !important;

    margin: 0 !important;

  }



  .projects .projects-heading-stat span {

    grid-column: 3 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    max-width: 250px !important;

    margin: 0 !important;

  }



  .projects .projects-heading-copy p {

    grid-column: 4 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    max-width: 280px !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

  }



  .projects .projects-gallery-button {

    grid-column: 5 !important;

    grid-row: 1 !important;

    align-self: end !important;

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

  }

}



@media (min-width: 1051px) and (max-width: 1200px) {

  .projects .projects-heading {

    display: grid !important;

    grid-template-columns:

      minmax(0, 1fr)

      minmax(430px, 0.9fr) !important;

    grid-template-rows: auto auto !important;

    align-items: end !important;

    column-gap: 36px !important;

    row-gap: 24px !important;

  }



  .projects .projects-heading > div:first-child {

    grid-column: 1 !important;

    grid-row: 1 / 3 !important;

    align-self: start !important;

  }



  .projects .projects-heading-stat {

    grid-column: 2 !important;

    grid-row: 1 !important;

    display: grid !important;

    grid-template-columns: auto minmax(0, 1fr) !important;

    gap: 18px !important;

    width: 100% !important;

  }



  .projects .projects-heading-copy {

    grid-column: 2 !important;

    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 16px !important;

    width: 100% !important;

    padding: 20px 0 0 !important;

    border-top: 1px solid #d5d5d0;

  }



  .projects .projects-heading-copy p {

    width: 100% !important;

    max-width: 430px !important;

    margin: 0 !important;

  }



  .projects .projects-gallery-button {

    justify-self: start !important;

    width: auto !important;

    min-width: 225px !important;

    margin: 0 !important;

  }

}






/* PRIVACY PAGE LAYOUT V64 */

.policy-page {

  padding-top: clamp(120px, 10vw, 180px);

  padding-bottom: clamp(80px, 8vw, 140px);

}



.policy-page > h1 {

  max-width: 900px;

  margin: 0 0 clamp(48px, 6vw, 84px);

  font-size: clamp(48px, 6vw, 96px);

  line-height: .92;

  letter-spacing: -.055em;

}



.policy-prose {

  max-width: 900px;

  font-size: clamp(17px, 1.25vw, 20px);

  line-height: 1.65;

}



.policy-prose h2 {

  margin: 2.5em 0 .75em;

  color: #151719;

  font-size: clamp(24px, 2.2vw, 36px);

  line-height: 1.1;

  letter-spacing: -.025em;

}



.policy-prose h2:first-child {

  margin-top: 0;

}



.policy-prose p {

  margin: 0 0 1.35em;

}



@media (max-width: 700px) {

  .policy-page {

    padding-top: 100px;

  }



  .policy-page > h1 {

    margin-bottom: 42px;

    font-size: clamp(42px, 13vw, 64px);

  }



  .policy-prose h2 {

    margin-top: 2em;

  }

}





/* FORM PRIVACY NOTICE V65 */

.privacy-notice {

  margin: 0;

  color: #676a6c;

  font-size: 12px;

  font-weight: 400;

  line-height: 1.45;

  text-transform: none;

  letter-spacing: 0;

}



.privacy-notice a {

  color: inherit;

  text-decoration: underline;

  text-decoration-thickness: 1px;

  text-underline-offset: 3px;

}



.privacy-notice a:hover {

  color: #151719;

}



.brief-form .privacy-notice,

.modal-form .privacy-notice {

  grid-column: 1 / -1;

}



.brief-form .privacy-notice a,

.modal-form .privacy-notice a {

  display: inline;

  color: inherit;

  font: inherit;

  text-transform: none;

  letter-spacing: 0;

}



.callback-form .privacy-notice {

  grid-column: 1 / -1;

  max-width: 520px;

}



.callback-form .privacy-notice a {

  display: inline;

  color: inherit;

  font: inherit;

}





/* HERO CALL BUTTON V66 */

.hero-call-button {

  gap: 9px;

  border: 1px solid #151719;

  color: #151719;

  background: transparent;

  white-space: nowrap;

  transition:

    color 180ms ease,

    background-color 180ms ease,

    transform 180ms ease;

}



.hero-call-button svg {

  width: 17px;

  height: 17px;

  flex: 0 0 auto;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;

}



.hero-call-button:hover {

  color: #fff;

  background: #151719;

  transform: translateY(-2px);

}



.hero-call-button:active {

  transform: translateY(0);

}



@media (max-width: 700px) {

  .hero-actions {

    display: grid;

    grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);

    align-items: stretch;

    column-gap: 8px;

    row-gap: 13px;

    width: 100%;

  }



  .hero-actions > .button {

    width: 100%;

    min-width: 0;

    min-height: 44px;

    padding-right: 10px;

    padding-left: 10px;

    font-size: clamp(10px, 3.2vw, 12px);

    white-space: nowrap;

  }



  .hero-actions > .text-link {

    grid-column: 1 / -1;

    justify-self: start;

  }



  .hero-call-button {

    gap: 6px;

  }



  .hero-call-button svg {

    width: 15px;

    height: 15px;

  }

}



@media (max-width: 340px) {

  .hero-actions {

    grid-template-columns: 1fr;

  }



  .hero-actions > .text-link {

    grid-column: 1;

  }

}





/* FOOTER EMAIL V67 */

.footer-email {

  position: relative;

  margin-top: -6px;

  color: rgba(255, 255, 255, .76);

  font-size: clamp(14px, 1.1vw, 17px);

  font-weight: 500;

  line-height: 1.3;

  text-decoration: none;

  transition: color 180ms ease;

}



.footer-email::after {

  position: absolute;

  right: 0;

  bottom: -3px;

  left: 0;

  height: 1px;

  background: currentColor;

  content: "";

  transform: scaleX(.35);

  transform-origin: left;

  transition: transform 180ms ease;

}



.footer-email:hover {

  color: #fff;

}



.footer-email:hover::after {

  transform: scaleX(1);

}



@media (max-width: 700px) {

  .footer-email {

    font-size: 16px;

  }

}





/* HIDE PROJECTS SUBTITLE V68 */

#projects .section-heading > p {

  visibility: hidden;

}
