/* Red's Creations: shared consistent header shadow and footer v1 */
.site-header, .rl-page .site-header { background:#fff !important; box-shadow:0 5px 16px rgba(0,0,0,.12) !important; }
/* All footer rules intentionally scoped to avoid legacy case-study styles */
footer.portfolio-footer, .rl-page footer.portfolio-footer, footer.portfolio-footer.rl-footer, footer.portfolio-footer.nc-footer {
  display:block !important; position:relative; border:0 !important; background:#fff !important;
  color:#222 !important; width:100% !important; max-width:none !important; margin:0 !important;
  padding:0 0 42px !important; box-sizing:border-box; font-family:Metropolis,RelMetropolis,Arial,sans-serif !important;
}
.portfolio-footer *, .portfolio-footer *::before, .portfolio-footer *::after { box-sizing:border-box; }
.portfolio-footer .pf-cta {
  min-height:252px; padding:70px 22px 46px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:21px; text-align:center;
}
.portfolio-footer .pf-envelope { width:68px !important; height:68px !important; object-fit:contain; display:block; margin:0 auto !important; }
.portfolio-footer .pf-cta-line { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:center; column-gap:12px; row-gap:0; }
.portfolio-footer .pf-cta h2 { margin:0 !important; padding:0 !important; color:#171717 !important; font:800 clamp(25px,2.3vw,37px)/1.25 Metropolis,RelMetropolis,Arial,sans-serif !important; letter-spacing:-.025em !important; }
.portfolio-footer .pf-cta a { display:inline-block; font:800 clamp(25px,2.3vw,37px)/1.25 Metropolis,RelMetropolis,Arial,sans-serif !important; color:#5030ed !important; text-decoration:underline !important; text-underline-offset:3px; }
.portfolio-footer .pf-bottom { width:min(980px,calc(100% - 56px)); margin:0 auto !important; padding:36px 0 0 !important; border-top:1px solid #ededed; display:grid !important; grid-template-columns:1.15fr .8fr .8fr; column-gap:48px; align-items:start; }
.portfolio-footer .pf-identity { display:flex; flex-direction:column; gap:26px; align-items:flex-start; }
.portfolio-footer .pf-identity img { display:block; width:100px !important; max-width:100%; height:auto !important; }
.portfolio-footer .pf-copyright { display:block; margin:0 !important; color:#555 !important; font-size:11px !important; line-height:1.5 !important; font-weight:400 !important; letter-spacing:0 !important; }
.portfolio-footer .pf-links { display:flex; flex-direction:column; align-items:flex-start; gap:30px; padding-top:4px; }
.portfolio-footer .pf-links a { font:400 14px/1.45 Metropolis,RelMetropolis,Arial,sans-serif !important; letter-spacing:1.8px; text-decoration:none !important; color:#303030 !important; }
.portfolio-footer .pf-links a:hover, .portfolio-footer .pf-links a:focus-visible { color:#5030ed !important; text-decoration:underline !important; text-underline-offset:4px; }
@media (max-width:700px){
  .portfolio-footer .pf-cta{min-height:215px;padding:52px 20px 40px;gap:13px}
  .portfolio-footer .pf-envelope{width:54px !important;height:54px !important}
  .portfolio-footer .pf-cta-line{column-gap:8px}
  .portfolio-footer .pf-cta h2,.portfolio-footer .pf-cta a{font-size:clamp(21px,5.4vw,30px) !important}
  .portfolio-footer .pf-bottom{width:calc(100% - 40px);grid-template-columns:1.25fr 1fr 1fr;gap:18px;padding-top:26px !important}
  .portfolio-footer .pf-identity img{width:73px !important}
  .portfolio-footer .pf-identity{gap:15px}
  .portfolio-footer .pf-links{gap:21px}
  .portfolio-footer .pf-links a{font-size:11px !important;letter-spacing:1px}
  .portfolio-footer .pf-copyright{font-size:9px !important}
}

/* v2: footer CTA must render on every page, including the home page. */
html body footer.portfolio-footer {
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; clear:both !important;
  background:#fff !important; box-shadow:none !important;
}
html body footer.portfolio-footer .pf-cta {
  display:flex !important; visibility:visible !important; opacity:1 !important;
  background:#fff !important; position:relative !important;
}
html body footer.portfolio-footer .pf-cta-line,
html body footer.portfolio-footer .pf-cta-line h2,
html body footer.portfolio-footer .pf-cta-line a {
  visibility:visible !important; opacity:1 !important;
}
/* Retain a subtle consistent separation between page and footer. */
html body footer.portfolio-footer { border-top:1px solid #f0f0f0 !important; }

/* v3: shared Wix-style top shadow for footer and visible homepage CTA */
html body footer.portfolio-footer { box-shadow: 0 -5px 16px rgba(0,0,0,.10) !important; border-top: 0 !important; }
html body footer.portfolio-footer .pf-cta { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; min-height: 252px !important; }
html body footer.portfolio-footer .pf-cta-line { display:flex !important; align-items:baseline !important; justify-content:center !important; gap: 12px !important; }
@media(max-width:700px){ html body footer.portfolio-footer .pf-cta { min-height: 210px !important; } }

/* recovery checkpoint: cross-page header and footer stability */
.site-header {box-shadow:0 5px 16px rgba(0,0,0,.12)!important;}
html body footer.portfolio-footer {display:block!important;visibility:visible!important;opacity:1!important;box-shadow:0 -3px 12px rgba(0,0,0,.055)!important;}
html body footer.portfolio-footer .pf-cta{display:flex!important;visibility:visible!important;opacity:1!important;}
html body footer.portfolio-footer .pf-cta-line{display:flex!important;}


/* v5 shared corrections: same footer separation on EVERY page and Wix-style project nav hover */
html body footer.portfolio-footer,
html body.rl-page footer.portfolio-footer,
html body.gud-page footer.portfolio-footer,
html body.works-page footer.portfolio-footer {
  display:block!important;
  background:#fff!important;
  border:0!important;
  box-shadow:0 -5px 16px rgba(0,0,0,.10)!important;
  padding:0 0 42px!important;
}
/* Matching footer component layout, overriding any legacy page-specific footer rules. */
html body footer.portfolio-footer .pf-cta{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;text-align:center!important;
  min-height:252px!important;padding:70px 22px 46px!important;gap:21px!important;
}
html body footer.portfolio-footer .pf-cta-line{display:flex!important;align-items:baseline!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important;}
html body footer.portfolio-footer .pf-bottom{
  width:min(980px,calc(100% - 56px))!important;
  margin:0 auto!important;padding:36px 0 0!important;
  display:grid!important;grid-template-columns:1.15fr .8fr .8fr!important;
  column-gap:48px!important;align-items:start!important;
  border-top:1px solid #ededed!important;
}
html body footer.portfolio-footer .pf-identity {display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:26px!important;}
html body footer.portfolio-footer .pf-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:30px!important;padding-top:4px!important;}
/* Works-style header shadow stays identical throughout the site. */
html body .site-header{box-shadow:0 5px 16px rgba(0,0,0,.12)!important;}

/* The original Wix next/previous links shift PURPLE -> DARK on hover.
   No underline, additional pseudo underline, size shift or border. */
html body .gud-project-nav a,
html body .neenah-case .nc-next a,
html body .rl-project-nav a,
html body .rl-project-nav span {
  color:#5030ed!important;
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-image:none!important;
  transition:color .22s ease!important;
}
html body .gud-project-nav a:hover,
html body .gud-project-nav a:focus-visible,
html body .neenah-case .nc-next a:hover,
html body .neenah-case .nc-next a:focus-visible,
html body .rl-project-nav a:hover,
html body .rl-project-nav a:focus-visible,
html body .rl-project-nav span:hover {
  color:#171717!important;
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-image:none!important;
}
/* Disable inherited growing underline decorations on project navigation only. */
html body .gud-project-nav a::before,html body .gud-project-nav a::after,
html body .neenah-case .nc-next a::before,html body .neenah-case .nc-next a::after,
html body .rl-project-nav a::before,html body .rl-project-nav a::after{content:none!important;display:none!important;}
@media(max-width:700px){
  html body footer.portfolio-footer .pf-cta{min-height:210px!important;padding:52px 20px 40px!important;gap:13px!important;}
  html body footer.portfolio-footer .pf-bottom{width:calc(100% - 40px)!important;grid-template-columns:1.25fr 1fr 1fr!important;gap:18px!important;padding-top:26px!important;}
  html body footer.portfolio-footer .pf-identity{gap:15px!important;}
  html body footer.portfolio-footer .pf-links{gap:21px!important;padding-top:4px!important;}
}
@media(prefers-reduced-motion:reduce){
 html body .gud-project-nav a,html body .neenah-case .nc-next a,
 html body .rl-project-nav a,html body .rl-project-nav span{transition:none!important;}
}


/* v7: one shared Wix-inspired footer across every portfolio page.
   Explicitly override older case-study/home footer rules. */
html body footer.portfolio-footer {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:0 0 86px !important;
  margin:0 !important;
  background:#fff !important;
  border:0 !important;
  overflow:visible !important;
  box-shadow:0 -7px 18px rgba(0,0,0,.11) !important;
  font-family:Metropolis,RelMetropolis,Arial,sans-serif !important;
}
html body footer.portfolio-footer .pf-cta {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:30px !important;
  min-height:0 !important;
  padding:86px 24px 70px !important;
  text-align:center !important;
  background:#fff !important;
}
html body footer.portfolio-footer .pf-envelope {
  display:block !important;
  width:112px !important;
  height:112px !important;
  max-width:none !important;
  object-fit:contain !important;
  margin:0 auto !important;
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}
html body footer.portfolio-footer .pf-cta-line {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:baseline !important;
  gap:0 13px !important;
}
html body footer.portfolio-footer .pf-cta-line h2,
html body footer.portfolio-footer .pf-cta-line a {
  margin:0 !important;
  padding:0 !important;
  font-family:Metropolis,RelMetropolis,Arial,sans-serif !important;
  font-size:clamp(32px,2.45vw,46px) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:-.035em !important;
}
html body footer.portfolio-footer .pf-cta-line h2 {color:#171717 !important;}
html body footer.portfolio-footer .pf-cta-line a {
  color:#4b2cff !important;
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:4px !important;
}
html body footer.portfolio-footer .pf-cta-line a:hover,
html body footer.portfolio-footer .pf-cta-line a:focus-visible {color:#2424e8 !important;}
html body footer.portfolio-footer .pf-bottom {
  display:grid !important;
  width:min(1120px,calc(100% - 80px)) !important;
  grid-template-columns:1.18fr .85fr .85fr !important;
  column-gap:70px !important;
  margin:0 auto !important;
  padding:48px 0 0 !important;
  border-top:1px solid #e7e7e7 !important;
  align-items:start !important;
  background:#fff !important;
}
html body footer.portfolio-footer .pf-identity {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:38px !important;
}
html body footer.portfolio-footer .pf-logo {
  display:inline-block !important;
  width:max-content !important;
  height:auto !important;
  line-height:0 !important;
}
html body footer.portfolio-footer .pf-identity img {
  display:block !important;
  width:118px !important;
  height:auto !important;
  max-width:100% !important;
  transition:opacity .2s ease !important;
}
html body footer.portfolio-footer .pf-logo:hover img,
html body footer.portfolio-footer .pf-logo:focus-visible img {opacity:.82 !important;}
html body footer.portfolio-footer .pf-copyright {
  margin:0 !important;
  color:#555 !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
}
html body footer.portfolio-footer .pf-links {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:35px !important;
  padding:7px 0 0 !important;
}
html body footer.portfolio-footer .pf-links a {
  display:inline-block !important;
  color:#333 !important;
  font-family:Metropolis,RelMetropolis,Arial,sans-serif !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  letter-spacing:1.35px !important;
  text-decoration:none !important;
  text-underline-offset:5px !important;
  transition:color .2s ease !important;
}
html body footer.portfolio-footer .pf-links a:hover,
html body footer.portfolio-footer .pf-links a:focus-visible {
  color:#4b2cff !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
}
html body .site-header {box-shadow:0 5px 16px rgba(0,0,0,.12) !important;}
@media(max-width:700px) {
  html body footer.portfolio-footer{padding-bottom:54px !important;}
  html body footer.portfolio-footer .pf-cta{
    padding:66px 18px 52px !important;
    gap:20px !important;
  }
  html body footer.portfolio-footer .pf-envelope{
    width:82px !important;
    height:82px !important;
  }
  html body footer.portfolio-footer .pf-cta-line h2,
  html body footer.portfolio-footer .pf-cta-line a{
    font-size:clamp(23px,5.8vw,33px) !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    width:calc(100% - 36px) !important;
    padding:34px 0 0 !important;
    grid-template-columns:1.2fr .8fr .8fr !important;
    column-gap:14px !important;
  }
  html body footer.portfolio-footer .pf-identity{gap:24px !important;}
  html body footer.portfolio-footer .pf-identity img{width:86px !important;}
  html body footer.portfolio-footer .pf-copyright{font-size:10px !important;}
  html body footer.portfolio-footer .pf-links{gap:25px !important;}
  html body footer.portfolio-footer .pf-links a{
    font-size:clamp(12px,3.1vw,15px) !important;
    letter-spacing:.5px !important;
  }
}


/* v8: refine Wix spacing from the annotated screenshot. Envelope source
   is 241 x 163 with transparency; its visible art is ~58% of image width. */
@media (min-width:701px) {
  html body footer.portfolio-footer .pf-cta {
    gap:32px !important;
    padding:50px 24px 55px !important;
    min-height:0 !important;
  }
  html body footer.portfolio-footer .pf-envelope {
    width:190px !important;
    height:auto !important;
  }
}
html body footer.portfolio-footer .pf-cta-line h2,
html body footer.portfolio-footer .pf-cta-line a {
  font-weight:700 !important;
}
html body footer.portfolio-footer .pf-links a {
  font-weight:400 !important;
  font-size:17px !important;
}
@media (max-width:700px) {
  html body footer.portfolio-footer .pf-cta {
    gap:22px !important;
    padding:39px 18px 42px !important;
    min-height:0 !important;
  }
  html body footer.portfolio-footer .pf-envelope {
    width:142px !important;
    height:auto !important;
  }
  html body footer.portfolio-footer .pf-links a {
    font-weight:400 !important;
    font-size:clamp(12px,3.1vw,15px) !important;
  }
}

/* v9: use the user's tightly cropped envelope asset: no oversized transparent canvas. */
html body footer.portfolio-footer .pf-envelope {
  width:134px !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  transform:none !important;
}
@media (max-width:700px) {
  html body footer.portfolio-footer .pf-envelope {width:100px !important;height:auto !important;}
}


/* v10 – slightly airier Wix-inspired headline, subtle Metropolis Medium footer links.
   Layout, image size, link hover and footer spacing remain exactly as in v9. */
html body footer.portfolio-footer .pf-cta-line h2,
html body footer.portfolio-footer .pf-cta-line a {
  letter-spacing: 0.005em !important;
}
html body footer.portfolio-footer .pf-links a {
  font-weight: 500 !important; /* Metropolis Medium, one step up from Regular 400 */
}

/* v11 — reduce only the visible envelope by 8% from v10. */
html body footer.portfolio-footer .pf-envelope {
  width:123px !important;
  height:auto !important;
}
@media (max-width:700px) {
  html body footer.portfolio-footer .pf-envelope { width:92px !important; height:auto !important; }
}


/* v16 — align shared desktop chrome to the Works gallery's 950px edges.
   All six pages use the same header/footer alignment; mobile rules remain intact. */
@media (min-width: 721px) {
  html body .site-header .nav-wrap {
    width: min(950px, calc(100% - 64px)) !important;
    max-width: 950px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    width: min(950px, calc(100% - 64px)) !important;
    max-width: 950px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v17: anchor footer link group to the RIGHT edge of the shared 950px grid.
   Keep the logo/copyright on the left and retain existing font styles. */
@media (min-width: 721px) {
  html body footer.portfolio-footer .pf-bottom {
    grid-template-columns: minmax(0, 1fr) max-content max-content !important;
    column-gap: clamp(56px, 5.5vw, 92px) !important;
  }
  html body footer.portfolio-footer .pf-links:last-child {
    justify-self: end !important;
    align-items: flex-end !important;
    text-align: right !important;
  }
}

/* v18: balanced footer columns; preserve shared 950px outer alignment. */
@media (min-width: 721px) {
  html body footer.portfolio-footer .pf-bottom {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .75fr) minmax(0, .85fr) !important;
    column-gap: 48px !important;
    justify-content: stretch !important;
  }
  html body footer.portfolio-footer .pf-links,
  html body footer.portfolio-footer .pf-links:last-child {
    justify-self: start !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
}


/* v20 — match paragraph typography: Metropolis Regular with body-like tracking.
   A very subtle optical stroke balances 400's thinness against 500's heaviness.
   Only footer nav links change; mobile sizing, colors and layout are preserved. */
html body footer.portfolio-footer .pf-links a {
  font-weight: 400 !important;
  letter-spacing: 0.35px !important;
  -webkit-text-stroke: 0.14px currentColor;
}


/* v21 — Footer typography matches the top navigation's normal (unselected) links.
   No more optical text stroke from v20; don't change the footer grid/spacing.
   Navbar typography on desktop: Avenir Next stack, 15px, 400, 2.6px tracking. */
html body footer.portfolio-footer .pf-links a {
  font-family: 'Avenir Next', Avenir, 'Century Gothic', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 2.6px !important;
  line-height: 1.5 !important;
  color: #171717 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}
@media (max-width: 720px) {
  html body footer.portfolio-footer .pf-links a {
    font-size: 15px !important;
    letter-spacing: 1.8px !important;
  }
}

/* v23 — Wix-inspired navigation typography, subtly lighter than v22.
   400 with a subtle optical stroke falls between thin v21 and heavy v22; all dimensions unchanged.
   Use the same Avenir-style font for navbar and footer so both feel coordinated. */
@media (min-width: 1001px) {
  html body .site-header .nav-wrap nav a,
  html body footer.portfolio-footer .pf-links a {
    font-size: 17px !important;
  }
}
@media (min-width: 721px) and (max-width: 1000px) {
  html body .site-header .nav-wrap nav a,
  html body footer.portfolio-footer .pf-links a {
    font-size: 16px !important;
  }
}
html body .site-header .nav-wrap nav a,
html body footer.portfolio-footer .pf-links a {
  font-family: 'Avenir Next', Avenir, 'Century Gothic', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 2.1px !important;
  line-height: 1.5 !important;
  -webkit-text-stroke: 0.10px currentColor !important;
  text-shadow: none !important;
}
/* Preserve the selected navbar item's stronger emphasis and purple underline. */
html body .site-header .nav-wrap nav a.active {
  font-weight: 600 !important;
}
@media (max-width: 720px) {
  html body .site-header .nav-wrap nav a {
    font-size: 16px !important;
    letter-spacing: 1.7px !important;
  }
  html body footer.portfolio-footer .pf-links a {
    font-size: clamp(14px, 4.2vw, 16px) !important;
    letter-spacing: 1.35px !important;
  }
}


/* Phase 2 mobile / v4 — make the shared footer match Wix's stacked phone layout.
   Applies to footer only at <=700px; no desktop changes. */
@media (max-width: 700px) {
  html body footer.portfolio-footer {
    padding: 0 0 64px !important;
  }
  html body footer.portfolio-footer .pf-cta {
    min-height: 0 !important;
    padding: 49px 22px 28px !important;
    gap: 23px !important;
  }
  html body footer.portfolio-footer .pf-envelope {
    display:block !important;
    width: 100px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  html body footer.portfolio-footer .pf-cta-line {
    display:flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap: 0 !important;
    width:100% !important;
  }
  html body footer.portfolio-footer .pf-cta-line h2,
  html body footer.portfolio-footer .pf-cta-line a {
    display:block !important;
    font-family: 'Metropolis', 'Avenir Next', Avenir, 'Century Gothic', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(27px, 7.45vw, 33px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  html body footer.portfolio-footer .pf-cta-line a {
    color: #4b2cff !important;
    padding-top: 8px !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 2px !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    display: grid !important;
    width: calc(100% - 60px) !important;
    max-width: 540px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    column-gap: 28px !important;
    row-gap: 30px !important;
    padding: 45px 0 0 !important;
    border-top: 0 !important;
    align-items: start !important;
  }
  html body footer.portfolio-footer .pf-identity {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding:0 !important;
  }
  html body footer.portfolio-footer .pf-identity img {
    display:block !important;
    width: 100px !important;
    height: auto !important;
  }
  html body footer.portfolio-footer .pf-copyright {
    font-size: clamp(12px, 3.5vw, 15px) !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
  /* The two original link wrappers become grid-transparent, placing links
     in two phone columns like Wix without editing sitewide footer HTML. */
  html body footer.portfolio-footer .pf-bottom > .pf-links {
    display: contents !important;
  }
  html body footer.portfolio-footer .pf-links a {
    display: inline-block !important;
    justify-self: start !important;
    align-self: start !important;
    min-height: 36px !important;
    font-family: 'Avenir Next', Avenir, 'Century Gothic', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(18px, 4.9vw, 22px) !important;
    font-weight: 400 !important;
    letter-spacing: 1.8px !important;
    line-height: 1.4 !important;
    -webkit-text-stroke: 0 !important;
    color: #171717 !important;
    text-decoration: none !important;
  }
  /* Wix row order: Works / LinkedIn, then About / Resume. */
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(2) a:nth-child(1) { grid-column:1 !important; grid-row:2 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(2) a:nth-child(2) { grid-column:2 !important; grid-row:3 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(3) a:nth-child(1) { grid-column:1 !important; grid-row:3 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(3) a:nth-child(2) { grid-column:2 !important; grid-row:2 !important; }
}
@media (max-width: 370px) {
  html body footer.portfolio-footer .pf-cta-line h2,
  html body footer.portfolio-footer .pf-cta-line a {font-size: 26px !important;}
  html body footer.portfolio-footer .pf-bottom {width: calc(100% - 36px) !important;column-gap: 16px !important;}
  html body footer.portfolio-footer .pf-links a {font-size: 17px !important;letter-spacing: 1.4px !important;}
  html body footer.portfolio-footer .pf-copyright {white-space: normal !important;}
}


/* Phase 2 / mobile v5: Wix footer treatment.
   Strengthened specificity for the CTA heading/link; keep the logo + FULL
   copyright on their own row and move navigation below to prevent collisions.
   This is mobile only and does not alter desktop or other footer content. */
@media (max-width: 700px) {
  html body footer.portfolio-footer .pf-cta .pf-cta-line {
    display: flex !important;
    flex-flow: column nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
  }
  html body footer.portfolio-footer .pf-cta .pf-cta-line h2 {
    display: block !important;
    width: 100% !important;
    font: 700 clamp(29px, 9.7vw, 43px)/1.2 'Metropolis', 'Avenir Next', Avenir, Arial, sans-serif !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    white-space: nowrap !important;
    margin: 0 !important;
    -webkit-text-stroke: 0 !important;
  }
  html body footer.portfolio-footer .pf-cta .pf-cta-line a {
    display: block !important;
    font: 700 clamp(31px, 8.8vw, 40px)/1.15 'Metropolis', 'Avenir Next', Avenir, Arial, sans-serif !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-text-stroke: 0 !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    display: grid !important;
    width: calc(100% - 52px) !important;
    max-width: 540px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 25px 26px !important;
    padding-top: 42px !important;
    margin: 0 auto !important;
    align-items: start !important;
    border: 0 !important;
  }
  html body footer.portfolio-footer .pf-bottom > .pf-identity {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 23px !important;
    padding: 0 !important;
  }
  html body footer.portfolio-footer .pf-bottom .pf-copyright {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    white-space: nowrap !important;
    font-size: clamp(11px, 3.4vw, 15px) !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
  }
  html body footer.portfolio-footer .pf-bottom > .pf-links {
    display: contents !important;
  }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(2) a:nth-child(1) { grid-column: 1 !important; grid-row: 2 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(2) a:nth-child(2) { grid-column: 2 !important; grid-row: 3 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(3) a:nth-child(1) { grid-column: 1 !important; grid-row: 3 !important; }
  html body footer.portfolio-footer .pf-bottom > .pf-links:nth-child(3) a:nth-child(2) { grid-column: 2 !important; grid-row: 2 !important; }
}
@media (max-width: 360px) {
  html body footer.portfolio-footer .pf-cta .pf-cta-line h2 {
    font-size: clamp(28px, 9.2vw, 33px) !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    width: calc(100% - 36px) !important;
    column-gap: 14px !important;
  }
}


/* Phase 2 / Mobile v6: subtle Wix-style separator on EVERY site footer.
   Between the contact call-to-action and the logo/navigation region.
   The existing desktop divider is preserved. */
@media (max-width: 700px) {
  html body footer.portfolio-footer .pf-cta {
    /* Balance the padding above the envelope and beneath Email. */
    padding-top: 43px !important;
    padding-bottom: 44px !important;
  }
  html body footer.portfolio-footer .pf-bottom {
    border-top: 1px solid #e9e9e9 !important;
  }
}
