@font-face { font-family: "Inter Tight"; src: url("fonts/InterTight-Latin-Variable.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
.jepa-contact-module { --jepa-gutter: clamp(1.25rem, 3.5vw, 4.5rem); background: #000; color: #fff; font-family: "Inter Tight", Arial, sans-serif; font-size: 1rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.jepa-contact-module *, .jepa-contact-module *::before, .jepa-contact-module *::after { box-sizing: border-box; }
.jepa-contact-module :where(h1,h2,h3,p,figure,address) { margin: 0; }
.jepa-contact-module a { color: inherit; text-decoration: none; text-underline-offset: .25em; }
.jepa-contact-module a:hover { text-decoration: underline; }
.jepa-contact-module a:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.jepa-contact-module .jepa-gutter { padding-inline: var(--jepa-gutter); }
.jepa-contact-module :is(h1,h2,h3) { color: inherit; font-family: inherit; }
.jepa-contact-module .jepa-eyebrow { font-size: .75rem; font-weight: 500; letter-spacing: .035em; line-height: 1.5; }
.jepa-contact-module .jepa-contact-page :is(h1,h2,h3) { font-size: clamp(2.6rem,9vw,8rem); line-height: .94; font-weight: 780; letter-spacing: -.045em; overflow-wrap: anywhere; }
.jepa-portfolio-site .jepa-footer { background: #000; color: #fff; padding-block: clamp(5rem, 10vw, 10rem) 1.5rem; }
.jepa-portfolio-site .jepa-footer-preview-heading { font-size: clamp(1rem, 1.4vw, 1.5rem); letter-spacing: -.02em; font-weight: 500; padding-top: 2rem; }
.jepa-portfolio-site .jepa-contact-page { padding-block: clamp(4rem, 8vw, 8rem); }
.jepa-portfolio-site .jepa-contact-page h1 { color: inherit; font-size: clamp(2.6rem, 9vw, 8rem); overflow-wrap: anywhere; }
.jepa-portfolio-site .jepa-contact-lead { margin-block: 2rem; max-width: 42ch; font-size: clamp(1.2rem, 2vw, 1.8rem); }
.jepa-portfolio-site .jepa-contact-page > p:not(.jepa-contact-lead),
.jepa-portfolio-site .jepa-contact-page > .wp-block-group__inner-container > p:not(.jepa-contact-lead) { max-width: 60ch; color: #b8b8b8; }
.jepa-portfolio-site .jepa-contact-address { display: grid; gap: .2rem; font-style: normal; margin-block: 2rem; }
.jepa-portfolio-site .jepa-contact-actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.jepa-portfolio-site .jepa-contact-actions a { overflow-wrap: anywhere; }
.jepa-portfolio-site .jepa-footer-contact { scroll-margin-top: 2rem; }
.jepa-portfolio-site .jepa-footer-contact-title { font-size: clamp(2.5rem, 6.8vw, 7.5rem); line-height: .95; letter-spacing: -.045em; font-weight: 780; margin: 1.5rem 0 0; overflow-wrap: anywhere; }
.jepa-portfolio-site .jepa-footer-contact-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: clamp(2rem, 4vw, 4rem); align-items: start; }
.jepa-portfolio-site .jepa-footer-invitation { font-size: clamp(1.1rem, 1.65vw, 1.6rem); line-height: 1.4; letter-spacing: -.015em; max-width: 29ch; }
.jepa-portfolio-site .jepa-footer-contacts { display: grid; gap: .75rem; min-width: 0; }
.jepa-portfolio-site .jepa-footer-link { display: grid; grid-template-columns: 4.8rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-height: 48px; padding-block: .4rem; font-size: clamp(1rem, 1.25vw, 1.25rem); }
.jepa-portfolio-site .jepa-footer-link span:first-child { color: #b8b8b8; font-size: .75rem; }
.jepa-portfolio-site .jepa-footer-link span:nth-child(2) { overflow-wrap: anywhere; }
.jepa-portfolio-site .jepa-footer-link span:last-child { transition: transform 400ms ease; }
.jepa-portfolio-site .jepa-footer-link:hover span:last-child { transform: translate(3px, -3px); }
.jepa-portfolio-site .jepa-footer-missing { max-width: 34ch; color: #b8b8b8; font-size: .9rem; line-height: 1.5; }
.jepa-portfolio-site .jepa-footer-social { margin-block: clamp(3rem, 6vw, 6rem) clamp(5rem, 8vw, 8rem); }
.jepa-portfolio-site .jepa-footer ul { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: 0; padding: 0; list-style: none; }
.jepa-portfolio-site .jepa-footer-social li { font-size: clamp(1rem, 1.4vw, 1.4rem); }
.jepa-portfolio-site .jepa-footer-unavailable { display: inline-flex; min-height: 44px; flex-direction: column; justify-content: center; color: #b8b8b8; }
.jepa-portfolio-site .jepa-footer-unavailable small { font-size: .65rem; letter-spacing: .02em; margin-top: .15rem; }
.jepa-portfolio-site .jepa-footer-textlink { display: inline-flex; align-items: center; min-height: 44px; gap: .35rem; background: linear-gradient(currentColor, currentColor) left calc(100% - 7px) / 0 1px no-repeat; transition: background-size 400ms ease; }
.jepa-portfolio-site .jepa-footer-textlink:hover { text-decoration: none; background-size: 100% 1px; }
.jepa-portfolio-site .jepa-footer-wordmark { container-type: inline-size; font-weight: 850; letter-spacing: -.055em; line-height: .88; margin: 0; padding-bottom: .13em; }
.jepa-portfolio-site .jepa-footer-wordmark span { display: block; white-space: nowrap; font-size: clamp(2rem, 10.8vw, 11.25rem); }
.jepa-portfolio-site .jepa-footer-wordmark span:last-child { font-size: clamp(2.7rem, 14vw, 15.5rem); margin-top: .05em; }
@supports (font-size: 1cqi) {
  .jepa-portfolio-site .jepa-footer-wordmark span { font-size: clamp(2rem, 11.7cqi, 11.25rem); }
  .jepa-portfolio-site .jepa-footer-wordmark span:last-child { font-size: clamp(2.7rem, 15cqi, 15.5rem); }
}
.jepa-portfolio-site .jepa-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem 2rem; margin-top: clamp(2rem, 4vw, 4rem); font-size: .75rem; color: #b8b8b8; }
.jepa-portfolio-site .jepa-footer-copyright { white-space: nowrap; }
.jepa-portfolio-site [data-jepa-current-year] { display: inline-block; min-width: 4ch; }
.jepa-portfolio-site .jepa-footer-top { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 48px; color: #fff; }
.jepa-portfolio-site .jepa-footer-top span { font-size: 1.5rem; transition: transform 400ms ease; }
.jepa-portfolio-site .jepa-footer-top:hover span { transform: translateY(-4px); }
.jepa-portfolio-site .jepa-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.jepa-portfolio-site [data-jepa-footer-reveal][data-reveal="pending"] { opacity: 0; transform: translateY(16px); }
.jepa-portfolio-site [data-jepa-footer-reveal][data-reveal] { transition: opacity 550ms ease, transform 550ms ease; }
@media (max-width: 800px) {
  .jepa-portfolio-site .jepa-footer-contact-bottom { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .jepa-portfolio-site .jepa-footer-link { max-width: 38rem; }
  .jepa-portfolio-site .jepa-footer-bottom { align-items: flex-start; }
}
@media (max-width: 600px) {
  .jepa-portfolio-site .jepa-footer-contact-title { font-size: clamp(2.15rem, 8.9vw, 3.3rem); }
  .jepa-portfolio-site .jepa-footer-social ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jepa-portfolio-site .jepa-footer-bottom { flex-direction: column; gap: 1rem; }
  .jepa-portfolio-site .jepa-footer-legal { gap: 1.5rem; }
  .jepa-portfolio-site .jepa-footer-link { grid-template-columns: 4.3rem minmax(0, 1fr) auto; gap: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .jepa-portfolio-site [data-jepa-footer-reveal][data-reveal], .jepa-portfolio-site [data-jepa-footer-reveal][data-reveal="pending"] { opacity: 1; transform: none; transition: none; }
  .jepa-portfolio-site .jepa-footer-link span:last-child, .jepa-portfolio-site .jepa-footer-link:hover span:last-child, .jepa-portfolio-site .jepa-footer-textlink, .jepa-portfolio-site .jepa-footer-top span, .jepa-portfolio-site .jepa-footer-top:hover span { transition: none; transform: none; }
}

/* Editable text stays readable inside narrow Gutenberg/Kadence containers. */
.jepa-contact-module .jepa-footer-wordmark span { white-space: normal; overflow-wrap: anywhere; }
.jepa-contact-module .jepa-footer-copyright { white-space: normal; overflow-wrap: anywhere; }
.jepa-contact-module .jepa-footer-contact-title { white-space: pre-line; }
.jepa-contact-module .jepa-contact-lead, .jepa-contact-module .jepa-footer-invitation, .jepa-contact-module .jepa-contact-copy { white-space: pre-line; }
.jepa-contact-module .jepa-contact-copy { margin-block: 1.5rem; }
.jepa-contact-module .jepa-contact-address span { white-space: pre-line; }
.jepa-contact-module .jepa-footer-extra { margin-block: 2rem; }
.jepa-contact-module .jepa-footer-contact .jepa-contact-address { margin-block: 1.5rem 0; }
.jepa-contact-module .jepa-footer-text { max-width: 65ch; color: #b8b8b8; margin-block: 2rem; white-space: pre-line; }
.jepa-contact-module [hidden] { display: none !important; }
.jepa-contact-module .jepa-footer-contact-title { font-weight: 780; }

.jepa-contact-module .jepa-footer > .jepa-contact-module + .jepa-footer-wordmark { margin-top: clamp(5rem, 8vw, 8rem); }
/* Match the approved small-screen heading rhythm as well as its size. */
@media (max-width: 600px) {
  .jepa-contact-module .jepa-contact-page :is(h1,h2,h3) { line-height: .99; }
}
