/* =========================================================
   CONTACT
========================================================= */

.contact-page{
  background:var(--paper);
}


.contact-hero{
  min-height:64vh;
  padding:170px var(--pad) 90px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}


.contact-hero:after{
  content:"";
  position:absolute;
  top:-10%;
  right:2%;
  width:46%;
  height:125%;
  background:
    linear-gradient(
      135deg,
      transparent 0 38%,
      rgba(255,255,255,.16) 39% 45%,
      transparent 46% 100%
    );
  opacity:.72;
  pointer-events:none;
}


.contact-hero__content{
  position:relative;
  z-index:2;
}


.contact-hero h1{
  font-family:var(--serif);
  font-size:clamp(54px,5.6vw,96px);
  line-height:.94;
  letter-spacing:-.038em;
  font-weight:400;
  margin:0;
  max-width:720px;
}


.contact-hero p{
  margin:42px 0 26px;
  font-size:16px;
}


.contact-line{
  width:28px;
  height:1px;
  background:#fff;
  display:block;
  margin-top:30px;
}


.contact-line--dark{
  background:var(--ink);
}


.contact-project-types{
  padding:44px var(--pad) 36px;
}


.contact-project-grid{
  display:grid;
  grid-template-columns:
    .72fr
    .8fr
    .76fr
    1.32fr;
  margin-top:12px;
}


.contact-project-grid a{
  min-height:80px;
  border-left:1px solid var(--line-light);
  padding:16px 34px;
  display:flex;
  align-items:center;
}


.contact-project-grid a:first-child{
  border-left:0;
  padding-left:12px;
}


.contact-project-grid span{
  font-family:var(--serif);
  font-size:clamp(24px,2vw,36px);
  line-height:1.05;
}


.contact-project-grid a:hover span{
  opacity:.55;
}


.contact-project-help{
  font-size:10px;
  color:#777;
  margin:18px 0 0 12px;
}


.contact-form-section{
  padding:60px var(--pad) 72px;
  border-top:1px solid var(--line-light);
  display:grid;
  grid-template-columns:.38fr 1fr;
  gap:75px;
}


.contact-form-intro h2{
  font-family:var(--serif);
  font-size:clamp(34px,2.5vw,48px);
  line-height:1.02;
  font-weight:400;
  margin:0;
}


.contact-form-intro>p:last-child{
  margin-top:32px;
  font-size:12px;
}


.contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}


.contact-form-row--two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}


.contact-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
}


.contact-form label>span{
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
}


.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:14px 14px;
  border:1px solid #c8c2ba;
  background:transparent;
  color:var(--ink);
  font-family:var(--sans);
  font-size:13px;
  border-radius:0;
  outline:none;
}


.contact-form textarea{
  resize:vertical;
  min-height:125px;
}


.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--ink);
}


.contact-consent{
  flex-direction:row !important;
  align-items:flex-start;
  gap:10px !important;
  max-width:650px;
}


.contact-consent input{
  width:15px;
  height:15px;
  margin:2px 0 0;
}


.contact-consent span{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:9px !important;
  color:#666;
}


.contact-submit{
  width:min(100%,360px);
  border:0;
  background:var(--ink);
  color:#fff;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.05em;
  cursor:pointer;
}


.contact-submit:hover{
  background:#282828;
}


.contact-message{
  padding:14px 16px;
  margin-bottom:18px;
  font-size:12px;
}


.contact-message--success{
  border:1px solid #7d8b76;
}


.contact-message--error{
  border:1px solid #9c6d6d;
}


.contact-honeypot{
  position:absolute;
  left:-9999px;
  visibility:hidden;
}


.contact-info{
  border-top:1px solid var(--line-light);
  display:grid;
  grid-template-columns:1fr 1fr;
}


.contact-info__details{
  padding:58px var(--pad);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}


.contact-info__details>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}


.contact-info__details a{
  margin:8px 0;
}


.contact-info__details h3{
  font-weight:400;
  margin:5px 0;
}


.contact-info__details p:last-child{
  max-width:300px;
  margin-top:22px;
  font-size:12px;
}


.contact-info__image{
  min-height:360px;
  background:
    linear-gradient(135deg,#28241f,#111 65%,#756858);
  position:relative;
  overflow:hidden;
}


.contact-info__image:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      145deg,
      transparent 0 43%,
      rgba(255,255,255,.13) 44% 48%,
      transparent 49%
    );
}


.contact-info__image span{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  color:#fff;
  font-size:9px;
  letter-spacing:.1em;
  opacity:.45;
}


.contact-bottom{
  padding:58px var(--pad);
  display:grid;
  grid-template-columns:1fr .8fr auto;
  align-items:center;
  gap:60px;
}


.contact-bottom h2{
  font-family:var(--serif);
  font-size:clamp(40px,4vw,70px);
  font-weight:400;
  margin:0;
}


.contact-bottom p{
  margin:0;
}


.contact-bottom>a{
  font-size:35px;
}


/* CONTACT MOBILE */

@media(max-width:980px){

  .contact-hero{
    min-height:75svh;
    padding:145px 22px 65px;
  }


  .contact-hero:after{
    width:80%;
    right:-25%;
  }


  .contact-project-types{
    padding:45px 22px;
  }


  .contact-project-grid{
    grid-template-columns:1fr 1fr;
  }


  .contact-project-grid a,
  .contact-project-grid a:first-child{
    border-left:0;
    border-top:1px solid var(--line-light);
    padding:26px 10px;
  }


  .contact-project-grid a:nth-child(even){
    border-left:1px solid var(--line-light);
  }


  .contact-form-section{
    grid-template-columns:1fr;
    padding:60px 22px;
    gap:50px;
  }


  .contact-info{
    grid-template-columns:1fr;
  }


  .contact-info__details{
    padding:55px 22px;
  }


  .contact-info__image{
    min-height:70vw;
  }


  .contact-bottom{
    padding:55px 22px;
    grid-template-columns:1fr;
    gap:30px;
  }

}


@media(max-width:560px){

  .contact-hero h1{
    font-size:17vw;
  }


  .contact-project-grid{
    grid-template-columns:1fr;
  }


  .contact-project-grid a:nth-child(even){
    border-left:0;
  }


  .contact-project-grid span{
    font-size:34px;
  }


  .contact-form-row--two{
    grid-template-columns:1fr;
  }


  .contact-info__details{
    grid-template-columns:1fr;
    gap:45px;
  }

}


/* CONTACT — HERO FINAL */

.contact-hero{
    min-height: 590px !important;
    padding: 150px var(--pad) 75px !important;
    align-items: center;
}

.contact-hero__content{
    max-width: 650px;
}

.contact-hero h1{
    font-size: clamp(48px, 4.2vw, 76px) !important;
    line-height: .98 !important;
    max-width: 620px !important;
}

.contact-hero p{
    margin-top: 34px !important;
    font-size: 15px !important;
    line-height: 1.55;
    color: rgba(255,255,255,.82);
}

.contact-hero .contact-line{
    margin-top: 26px;
}

/* CONTACT — PROJECT TYPES */

.contact-project-types{
    padding-top: 44px !important;
    padding-bottom: 34px !important;
}

.contact-project-grid{
    margin-top: 24px !important;
}

.contact-project-grid a{
    min-height: 100px !important;
    padding: 18px 34px !important;
    transition: opacity .25s ease;
}

.contact-project-grid a:hover{
    opacity: .5;
}

.contact-project-grid span{
    font-size: clamp(22px, 1.65vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.015em;
}

.contact-project-help{
    margin-top: 16px !important;
    font-size: 10px !important;
}

.footer-main__brand{
    justify-content:flex-start !important;
}

.footer-main__brand .footer-brand{
    margin-bottom:24px !important;
}

.footer-main__brand p{
    margin-top:0 !important;
}

.contact-form-section{
    padding-top:52px !important;
    padding-bottom:58px !important;
}

.contact-form{
    gap:15px !important;
}

.contact-form textarea{
    min-height:110px !important;
}

.footer-main__brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
}

.footer-brand{
    margin-bottom:22px !important;
}

.footer-brand-description{
    max-width:380px !important;
    margin:0 !important;

    font-size:14px !important;
    line-height:1.65 !important;

    color:rgba(255,255,255,.64) !important;
}

/* =========================================================
   CUSTOM CHECKBOX
========================================================= */

.contact-consent input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;

    width:15px !important;
    height:15px !important;
    min-width:15px;

    margin:1px 0 0 !important;

    border:1px solid #8f8a83 !important;
    border-radius:0 !important;

    background:transparent !important;

    display:grid;
    place-content:center;

    cursor:pointer;

    outline:none !important;
    box-shadow:none !important;
}

.contact-consent input[type="checkbox"]::before{
    content:"";

    width:4px;
    height:8px;

    border-right:1.5px solid #fff;
    border-bottom:1.5px solid #fff;

    transform:rotate(45deg) scale(0);
    transform-origin:center;

    transition:transform .12s ease;
}

.contact-consent input[type="checkbox"]:checked{
    background:#0b0b0b !important;
    border-color:#0b0b0b !important;
}

.contact-consent input[type="checkbox"]:checked::before{
    transform:rotate(45deg) scale(1);
}

.contact-consent input[type="checkbox"]:focus-visible{
    outline:1px solid #777 !important;
    outline-offset:3px;
}


/* Responsive Fix 1 — najwęższe ekrany, bez zmian od 375px. */
@media (max-width: 360px) {
    .contact-hero__content {
        min-width: 0;
        max-width: 100%;
    }

    .contact-hero h1 {
        font-size: clamp(40px, 12vw, 43.2px) !important;
    }
}
