/* One spacing token for headings and their supporting copy. */
:root{--heading-copy-gap:12px}
.portfolio-redesign h1,.case-page.case-redesign .case-hero h1{margin-bottom:var(--heading-copy-gap)}
.portfolio-redesign .page .section-heading{margin-bottom:var(--heading-copy-gap)}
.portfolio-redesign .work-heading-group{gap:0;margin-bottom:40px}
.portfolio-redesign .work-heading-group>.work-intro{margin:0}
.portfolio-redesign .about-strip p.about-body:first-of-type{margin-top:0!important}
.portfolio-redesign .contact-inner>.section-heading{margin-bottom:0}
.portfolio-redesign .contact-links{margin-top:var(--heading-copy-gap)}
.case-page.case-redesign .chapter-opening{margin-bottom:var(--heading-copy-gap)}
.case-page.case-redesign .case-section h2,.case-page.case-redesign .case-section h3{margin-bottom:var(--heading-copy-gap)}
.case-page.case-redesign .chapter-opening h2{margin-bottom:0}
.portfolio-redesign .highlights-grid{margin-bottom:0}
.footer-gradient{height:240px;pointer-events:none;background:linear-gradient(180deg,var(--paper) 0%,#edf4e9 35%,#cbdcbb 100%)}
:root[data-theme=dark] .footer-gradient{background:linear-gradient(180deg,var(--paper) 0%,#18261e 35%,#2d4833 100%)}
@media(max-width:700px){.portfolio-redesign .work-heading-group{margin-bottom:32px}.footer-gradient{height:200px}}

/* Let the hero headline breathe independently of section heading spacing. */
.portfolio-redesign .intro #intro-title{margin-bottom:36px}
@media(max-width:700px){.portfolio-redesign .intro #intro-title{margin-bottom:28px}}

/* Two-tone contact links, without decorative underlines. */
.portfolio-redesign .contact-links a{display:inline-flex;gap:0;color:var(--ink);text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--muted);text-decoration-thickness:1px;text-underline-offset:7px;font-weight:400}
.portfolio-redesign .contact-links a .contact-handle{color:var(--muted)}
.portfolio-redesign .contact-links a::before{content:none;display:none}
.portfolio-redesign .contact-links a,.portfolio-redesign .contact-links a .contact-handle{transition:color .18s ease}
.portfolio-redesign .contact-links a:is(:hover,:focus-visible),.portfolio-redesign .contact-links a:is(:hover,:focus-visible) .contact-handle{color:var(--blue)}
.portfolio-redesign .contact-links a:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:4px}

/* Blue accent under the contact handle; circle hover remains shared. */
.portfolio-redesign .contact-links a{text-decoration:none}
.portfolio-redesign .contact-links a:not(:has(.contact-handle)),.portfolio-redesign .contact-links a .contact-handle{text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:var(--blue);text-decoration-thickness:1px;text-underline-offset:7px}

/* Continuous blue accent across each full contact link. */
.portfolio-redesign .contact-links a{border-bottom:1px solid var(--blue);padding-bottom:3px;min-height:0;text-decoration:none}
.portfolio-redesign .contact-links a:not(:has(.contact-handle)),.portfolio-redesign .contact-links a .contact-handle{text-decoration:none}
.portfolio-redesign .resume-download{white-space:nowrap}
@media(max-width:700px){.portfolio-redesign header nav{gap:14px}.portfolio-redesign .resume-download{font-size:11px}}

/* Raised Resume button, matching the supplied reference. */
.portfolio-redesign header nav .resume-download{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;background:#424242;color:#fff;border:1px solid #424242;border-radius:13px;box-shadow:0 5px 0 #272727;font-size:14px;font-weight:600;line-height:20px;margin:3px 0 7px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.portfolio-redesign header nav .resume-download:hover{transform:translateY(-2px);background:#4d4d4d;box-shadow:0 7px 0 #272727}
.portfolio-redesign header nav .resume-download:active{transform:translateY(4px);box-shadow:0 1px 0 #272727}
.portfolio-redesign .resume-download svg{display:block;flex:none}
@media(max-width:700px){.portfolio-redesign header nav .resume-download{font-size:12px;padding:7px 10px;gap:5px;border-radius:10px;margin:0 0 4px}.portfolio-redesign header nav{gap:12px}}
/* Resume stays at the viewport edge, then clears the footer link. */
.portfolio-redesign> .resume-download{position:fixed;right:40px;bottom:72px;z-index:10;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;background:#424242;color:#fff;border:1px solid #424242;border-radius:13px;box-shadow:0 5px 0 #272727;font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.portfolio-redesign>.resume-download:hover{transform:translateY(-2px);background:#4d4d4d;box-shadow:0 7px 0 #272727}
.portfolio-redesign>.resume-download:active{transform:translateY(4px);box-shadow:0 1px 0 #272727}
@media(max-width:700px){.portfolio-redesign>.resume-download{right:20px;bottom:258px;font-size:12px;padding:8px 12px}}
