
/* CONTACT v2 — isolated prototype. Existing site styles remain untouched. */
.contact-v2{
  width:min(1180px,calc(100% - 48px));
  margin:140px auto 0!important;
  padding:110px 0 120px!important;
  border-top:1px solid rgba(255,255,255,.22);
  display:grid!important;
  grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr);
  gap:clamp(60px,9vw,140px);
  align-items:start;
}
.contact-v2-head h3{
  margin:20px 0 30px!important;
  font-size:clamp(48px,6vw,86px)!important;
  line-height:.88!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
}
.contact-v2-lead{
  margin:0!important;
  color:rgba(255,255,255,.62)!important;
  font-size:12px!important;
  line-height:1.9!important;
}
.contact-v2-form{width:100%;padding-top:8px}
.contact-v2-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.contact-v2-field{display:block;margin:0 0 34px}
.contact-v2-field>span{
  display:block;margin-bottom:10px;color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.14em;
}
.contact-v2-field em{font-style:normal;color:rgba(255,255,255,.42)}
.contact-v2-field input,
.contact-v2-field textarea{
  box-sizing:border-box;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.28);
  border-radius:0;outline:0;background:transparent;color:#fff;
  padding:13px 0 15px;font:inherit;font-size:14px;line-height:1.6;
  transition:border-color .22s ease,background .22s ease;
}
.contact-v2-field textarea{resize:vertical;min-height:150px}
.contact-v2-field input::placeholder,
.contact-v2-field textarea::placeholder{color:rgba(255,255,255,.28);letter-spacing:.06em}
.contact-v2-field input:focus,
.contact-v2-field textarea:focus{border-bottom-color:#fff}
.contact-v2-field input.is-error,
.contact-v2-field textarea.is-error{border-bottom-color:#fff;background:rgba(255,255,255,.045)}
.contact-v2-actions{
  display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:4px
}
.contact-v2-note,.contact-v2-status{
  margin:0!important;color:rgba(255,255,255,.38)!important;font-size:9px!important;letter-spacing:.12em
}
.contact-v2-submit{
  min-width:210px;height:58px;padding:0 20px 0 24px;border:1px solid #fff;border-radius:0;
  background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;
  gap:30px;cursor:pointer;font:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.contact-v2-submit b{font-size:19px;font-weight:400;transition:transform .22s ease}
.contact-v2-submit:hover{background:#fff;color:#111;transform:translateY(-2px)}
.contact-v2-submit:hover b{transform:translateX(4px)}
.contact-v2-status{min-height:16px;margin-top:18px!important;text-align:right}
@media(max-width:820px){
  .contact-v2{
    width:min(100% - 32px,680px);margin-top:100px!important;padding:80px 0 90px!important;
    grid-template-columns:1fr;gap:60px
  }
  .contact-v2-head h3{font-size:clamp(54px,14vw,78px)!important}
}
@media(max-width:560px){
  .contact-v2{width:calc(100% - 28px);padding-top:66px!important}
  .contact-v2-row{grid-template-columns:1fr;gap:0}
  .contact-v2-field{margin-bottom:28px}
  .contact-v2-actions{align-items:flex-end}
  .contact-v2-submit{min-width:190px;height:54px}
}


/* CONTACT v2 light-gray variation */
.contact-v2{
  position:relative;
  background:#d8d8d8!important;
  color:#111!important;
  border-top:0!important;
}

.contact-v2 .about-eyebrow,
.contact-v2-head h3,
.contact-v2-field>span{
  color:#111!important;
}
.contact-v2-lead{color:rgba(17,17,17,.62)!important}
.contact-v2-field em{color:rgba(17,17,17,.42)!important}
.contact-v2-field input,
.contact-v2-field textarea{
  color:#111!important;
  border-bottom-color:rgba(17,17,17,.38)!important;
}
.contact-v2-field input::placeholder,
.contact-v2-field textarea::placeholder{color:rgba(17,17,17,.32)!important}
.contact-v2-field input:focus,
.contact-v2-field textarea:focus{border-bottom-color:#111!important}
.contact-v2-field input.is-error,
.contact-v2-field textarea.is-error{
  border-bottom-color:#111!important;
  background:rgba(17,17,17,.035)!important;
}
.contact-v2-note,
.contact-v2-status{color:rgba(17,17,17,.48)!important}
.contact-v2-submit{
  border-color:#111!important;
  background:transparent!important;
  color:#111!important;
}
.contact-v2-submit:hover{
  background:#111!important;
  color:#fff!important;
}


/* CONTACT isolated full-bleed fix — ABOUT remains #111 */
.contact-v2{
  position:relative!important;
  z-index:0!important;
  background:#d8d8d8!important;
  margin-top:140px!important;
}
.contact-v2::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  top:0!important;
  bottom:0!important;
  left:50%!important;
  width:100vw!important;
  transform:translateX(-50%)!important;
  background:#d8d8d8!important;
  pointer-events:none!important;
}
@media(max-width:820px){
  .contact-v2{margin-top:100px!important}
}


/* HEADER NAV anchors */
body>header nav a{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:opacity .2s ease;
}
body>header nav a:hover{opacity:.55}

/* FOOTER */
.site-footer{
  position:relative;
  z-index:0;
  background:#111;
  color:#fff;
  margin-top:0;
  padding:0;
}
.site-footer::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 auto 0 50%;
  width:100vw;
  transform:translateX(-50%);
  background:#111;
}
.site-footer-inner{
  width:min(1180px,calc(100% - 48px));
  min-height:96px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.site-footer small,
.site-footer a{
  color:#fff;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.12em;
}
.site-footer a{
  text-decoration:none;
  transition:opacity .2s ease;
}
.site-footer a:hover{opacity:.55}
html{scroll-behavior:smooth}
@media(max-width:560px){
  .site-footer-inner{
    width:calc(100% - 28px);
    min-height:88px;
    gap:18px;
  }
  .site-footer small,.site-footer a{font-size:8px}
}


/* HEADER visibility over light/dark sections */
body>header{
  mix-blend-mode:difference;
  color:#fff!important;
}
body>header b,
body>header nav,
body>header nav a{
  color:#fff!important;
}


/* CAREER left title: match SKILL / FIELD sticky behavior */
.career-sticky-title{
  position:sticky!important;
  top:110px!important;
  align-self:start!important;
}
@media(max-width:820px){
  .career-sticky-title{
    position:static!important;
    top:auto!important;
  }
}


/* MOBILE HERO — compact first view */
body>header .site-brand{
  color:inherit;
  text-decoration:none;
  font-weight:inherit;
  cursor:pointer;
}
@media(max-width:700px){
  .hero{
    min-height:0!important;
    height:auto!important;
    padding-top:clamp(150px,34vh,250px)!important;
    padding-bottom:72px!important;
  }
  .hero small{margin-bottom:16px!important}
  .hero h1{margin:0!important;line-height:.78!important}
  .hero-port,.hero-folio{display:block!important}
  .works{margin-top:0!important;padding-top:0!important}
}
